Utilizzare il cmdlet Send-MailMessage con l’utente NT Authority\System

Se si esegue uno script PowerShell contenente il cmdlet Send-MailMessage tramite le credenziali dell’account NT Authority\System potrebbe verificarsi un errore come nel caso il server di posta sia un server Exchange.

Per ovviare al problema è possibile specificare delle credenziali anonime fittizie, si veda ad esempio il seguente codice:

$anonymousUser = “anonymous”
$anonymousPassword = ConvertTo-SecureString $anonymousUser -AsPlainText -Force
$anonymousCredential = New-Object System.Management.Automation.PSCredential($anonymousUser, $anonymousPassword)
Send-MailMessage -To $To -From $From -SmtpServer $SmtpServer -Subject $mailSubject -Body $mailBody -BodyAsHtml -Credential $anonymousCredential

Ciò può tornare utile se lo script Powershell che utilizza il cmdlet Send-MailMessage è eseguito tramite un’operazione pianificata che è eseguita tramite l’account SYSTEM.