Das erfolgreiche Versenden von Mails in einem Powershell Script erreiche ich durch folgende Schritte:
Vorgabe: SMTP Server mit Authentifizierung, Passwort in einer Datei verschlüselt und nicht im Klartext im Script.
Schritt für Schritt ein paar Befehle:
- Anlegen der Variable $PSEmailServer = "smtpServer"
- Benutzername und Kennwort für die Authentifizierung verschlüselt in eine Datei speichern
In Powershell eingeben: (Get-Credential).password | ConvertFrom-SecureString > password.txt - Anlegen der Variable Password $pw = Get-Content .\password.txt | ConvertTo-SecureString
- Anlegen der Variable Credentials $cred = New-Object System.Management.Automation.PSCredential "user1", $pw
Send-MailMessage -to "Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!" -from "PowerShell <Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!>" -Subject "Mail Test" -body "Test für Send-MailMessage mit Authentifizierung" -Credential $cred -encoding ([System.Text.Encoding]::UTF8)