Mehrere Anlagen mit der PowerShell per Mail versenden

Auf einer Vielzahl der Server die ich in meinem Arbeitsalltag verwalte sammeln sich Logfiles in größeren Mengen. Damit ich den Überblick nicht vollständige verliere musste eine Lösung geschaffen damit ich die wirklich benötigten Information per Mail erhalte. Die Windows bietet eine einfache Lösung Emails zu versenden und Anlagen einzubinden.

Nachfolgendes Script bietet einen Lösungsansatz für diverse Situationen. Es sammelt alle Dateien, in dem Beispiel aus C:\Log\ und hängt diese als Anlage an eine Email. Das Cmdlet Get-ChildItem kann hierbei noch um die Optionen –Filter und/oder –Recurse erweitert werden bzw. angepasst werden.

# IP oder FQDN des Mailservers
$smtp =„192.168.1.75“
$from = „fromto@meinedomain.de“
$to =„to@meinedomain.de“# Betreff und Mail-Inhalt
$sub = „Mail mit der PowerShell“
$body =„Hier folgt der Text“

# Optional Get-ChildItem -Recurse -Filter *.log
Get-ChildItem „C:\Log\“
| Where {-NOT $_.PSIsContainer} 

| foreach {$_.fullname} 
| send-mailmessage 

-from $from 
-to $to 

-subject $sub 
-smtpServer $smtp 

-Body $body

Das ganze kann dann wie in diesem Artikel beschrieben mit einer geplanten Aufgabe zeitgesteuert oder bei Auslösung eines speziellen Events gestartet werden.

Dieser Eintrag wurde veröffentlicht in PowerShell und verschlagwortet mit von Alexander Damm. Permanenter Link zum Eintrag.
Alexander Damm

Über Alexander Damm

Seit Windows Server 2000 beschäftige ich mich mit den Betriebssystemen von Microsoft. Dabei liegen meine Schwerpunkte auf Active Directory, Exchange Server, Lync bzw. Skype for Business, Cloud Services wie Office 365 oder Azure sowie Security Analysen, Lösungen und Konzepte. Beruflich agiere ich als System Consultant für die datom GmbH aus Dresden und freue mich auf ihre Anmerkungen oder Anfragen.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.