[PowerShell] Ordner scannen, bestimmte Daten Filtern und versenden

canada

Lt. Commander
Registriert
Feb. 2011
Beiträge
1.405
Hallo,

ich möchte mit einem kleinen Script einen Ordner überwachen und zwar wie folgt. In dem Ordner befinden sich verschiedene (Unter)Ordner, ich möchte einmal am Tag (wenn der PC gestartet wird) den Ordner scannen und dabei die Unterordner erfassen nach ihrem Erstell/Änderungsdatum. Ist nun ein Ordner oder mehrere älter als x-Tage soll eine Automatische email versenden werden, die den Unterordner Namen enthält, der schon älter als x-Tage ist.

Die Ordner mit ihren Erstellungsdatum etc. kann ich ja so erfragen:
Code:
[String] $folder="W:\Test\";
Get-ChildItem -Path $folder | SELECT Attributes, Name, CreationTime, LastWriteTime | Format-Table -AutoSize;

und die Email folgendermaßen:
Code:
function sendmail($body)
{
    $SmtpClient = new-object system.net.mail.smtpClient
    $MailMessage = New-Object system.net.mail.mailmessage
    $SmtpClient.Host = "smtp-server-adresse"
    $mailmessage.from = "absender@email.de"
    $mailmessage.To.add("empfänger1@email.de")
    #$mailmessage.To.add("empfänger2@email.de")
    $mailmessage.Subject = “Betreff (" + (Get-Date).ToShortDateString() + ")”
    $MailMessage.IsBodyHtml = $false
    $mailmessage.Body = $body
    $smtpclient.Send($mailmessage)
}
 
$body = "Nachricht Text"
 
sendmail $body

Nun bräuchte ich noch die Brücke zwischen den beiden Code Schnipsel, komme da leider nicht weiter, vielleicht kann mir da einer helfen bzw. die passende und zündende Idee geben, Danke :-)
 
Das Senden per SMTP ist quasi fertig, aber das Prüfen der Ordner noch nicht. Du hast ja gschreieben: a) (nur) die Unterordner, b) Geändert/Erstellt nach X Tagen.

Ich würde dies ebenfalls in eine Funktion fassen und anschliessend die generierte Liste per Mail ($Body) senden.
 
Zurück
Oben