Wenn man ständig wiederkehrende Aufgaben wie z.B. ein Backup hat, ist es durchaus sinnvoll sich den Status mitteilen zu lassen. Für die Automatisierung bietet sich sehr oft die Windows Aufgabenplanung an. Doch wie lässt man sich jetzt den Status mitteilen, ob z.B. die Aufgabe erfolgreich ausgeführt wurde? Gerade im Bereich Scripting mit der Windows PowerShell bietet sich das PowerShell Cmdlet Send-MailMessage an, mit welches es ein leichtes ist, E-Mails zu versenden.
Die zu verwendende Befehlskette sieht dabei wie folgt aus. Benötigt wird natürlich die Absenderadresse sowie die Empfängeradressen. Weiterhin die eigentliche Nachricht, sowie die SMTP Serveradresse des Empfängers.
Send-MailMessage -From absender@admin.de -To empfänger@adresse.com -Subject "Servernachricht" -Body "TextEmail" -SmtpServer MailServer
Evtl. kann sich jetzt durchaus noch die Frage nach der SMTP Serveradresse stellen. Hierzu muss man wissen, an welchen Provider die E-Mail gesendet werden soll. Auch hierfür kann man direkt die Windows PowerShell verwenden. Der Name des Cmdlets ist dabei Resolve-DNSName. Als Beispiel habe ich jetzt mal Gmail verwendet. Entsprechend lautet der Befehl folgendermaßen:
Resolve-DnsName -Type MX -Name gmail.com

Natürlich wäre für das Auslesen der SMTP Adresse von Gmail auch das CMD Tool nslookup möglich. MX steht übrigens für Mail Exchanger, also die Adresse des Emailservers.

Jetzt kann man über die Windows PowerShell eine E-Mail versenden. Sofern kein Fehler auftaucht, wurde die Nachricht erfolgreich versendet. Gerade eben für administrative Aufgaben, von welchem man ständig eine Benachrichtigung möchte, ist das Versenden einer E-Mail per PowerShell sehr komfortabel.
Steigere dein Wissen
Kostenlose Befehlsreferenzen und E-Books herunterladen