Dieverse Ordners mit Powershell monitoren
Ich bin dabei ein kleine Powershell script zu erstellen welche auf ein WIN Server diverse ordners den Aktuellen Datum mit $_.LastWriteTime vergleichen soll, und wenn ein Datei fehlt es soll dann ein Send-Mailmessage ausgeführt werden.. Könnt Ihr bitte mein script kurz anschauen und ein paar tipps geben wie ich es verbessern kann. zumbeispiel wie ich die diverse ordners von eine externe liste inportieren kann..
Danke & Gruss Mike
$sub = 'Server Monitoring 10:00 Uhr check'
#Aktuelle Datum
$day = (get-date).AddDays(0).Date
#Verzeichnisse
$Datei1 = '\\server\LW$\Orner\*.txt.bak'
$Datei2 = '\\server\LW$\Orner\unterordner\*.txt'
$Datei3 = '\\server\LW$\Orner\Orner1\ordner2\*.txt'
if (Test-Path $Datei)
{get-childitem $Datei1 | where-object {$_.LastWriteTime -ge $day }}
else {Send-Mailmessage -to meineemail@admin.com -Subject " $sub " -from monitoring@admin.com -Body "Im Verzeichnis '$Datei1' existiert nicht bitte prüfen.." -SmtpServer "smtp.server.com" }
#else {echo "Im Verzeichnis '$Datei' Datei existiert nicht bitte prüfen.."}
if (Test-Path $Datei2)
{get-childitem $Datei2 | where-object {$_.LastWriteTime -ge $day }}
else {Send-Mailmessage -to meineemail@admin.com -Subject " $sub " -from monitoring@admin.com -Body "Im Verzeichnis '$Datei2' existiert nicht bitte prüfen.." -SmtpServer "smtp.server.com" }
#else {echo "Im Verzeichnis '$Datei' Datei existiert nicht bitte prüfen.."}
if (Test-Path $Datei3)
{get-childitem $Datei3 | where-object {$_.LastWriteTime -ge $day }}
else {Send-Mailmessage -to meineemail@admin.com -Subject " $sub " -from monitoring@admin.com -Body "Im Verzeichnis '$Datei3' existiert nicht bitte prüfen.." -SmtpServer "smtp.server.com" }
#else {echo "Im Verzeichnis '$Datei' Datei existiert nicht bitte prüfen.."}
Danke & Gruss Mike
$sub = 'Server Monitoring 10:00 Uhr check'
#Aktuelle Datum
$day = (get-date).AddDays(0).Date
#Verzeichnisse
$Datei1 = '\\server\LW$\Orner\*.txt.bak'
$Datei2 = '\\server\LW$\Orner\unterordner\*.txt'
$Datei3 = '\\server\LW$\Orner\Orner1\ordner2\*.txt'
if (Test-Path $Datei)
{get-childitem $Datei1 | where-object {$_.LastWriteTime -ge $day }}
else {Send-Mailmessage -to meineemail@admin.com -Subject " $sub " -from monitoring@admin.com -Body "Im Verzeichnis '$Datei1' existiert nicht bitte prüfen.." -SmtpServer "smtp.server.com" }
#else {echo "Im Verzeichnis '$Datei' Datei existiert nicht bitte prüfen.."}
if (Test-Path $Datei2)
{get-childitem $Datei2 | where-object {$_.LastWriteTime -ge $day }}
else {Send-Mailmessage -to meineemail@admin.com -Subject " $sub " -from monitoring@admin.com -Body "Im Verzeichnis '$Datei2' existiert nicht bitte prüfen.." -SmtpServer "smtp.server.com" }
#else {echo "Im Verzeichnis '$Datei' Datei existiert nicht bitte prüfen.."}
if (Test-Path $Datei3)
{get-childitem $Datei3 | where-object {$_.LastWriteTime -ge $day }}
else {Send-Mailmessage -to meineemail@admin.com -Subject " $sub " -from monitoring@admin.com -Body "Im Verzeichnis '$Datei3' existiert nicht bitte prüfen.." -SmtpServer "smtp.server.com" }
#else {echo "Im Verzeichnis '$Datei' Datei existiert nicht bitte prüfen.."}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276965
Url: https://administrator.de/forum/dieverse-ordners-mit-powershell-monitoren-276965.html
Ausgedruckt am: 20.02.2025 um 01:02 Uhr
3 Kommentare
Neuester Kommentar
![114757](/images/members/profile_male_48x48.png)
Moin,
Für solche Aufgaben gibt es das FileSystemWatcher-Objekt.
Siehe: VBA - VBS : Umbennen und Verschieben von Dateien in Loop
Um Pfade aus einer Textdatei zu laden bedienst du dich einer einfachen foreach-Schleife
Gruß jodel32
Für solche Aufgaben gibt es das FileSystemWatcher-Objekt.
Siehe: VBA - VBS : Umbennen und Verschieben von Dateien in Loop
$day = (get-date).AddDays(0).Date
Was soll das für ein Konstrukt sein ?? Da reicht ein (get-date).DateUm Pfade aus einer Textdatei zu laden bedienst du dich einer einfachen foreach-Schleife
(gc 'c:\Ordner\pfade.txt') | %{
# in $_ steht immer der Inhalt der aktuellen Zeile aus der Textdatei
Write-Host $_
}
Gruß jodel32
Nur um Mal das Drama hier um den Plural von "Ordner" zu klären:
http://www.duden.de/rechtschreibung/Ordner
Die diversen anderen Dinge mal außer acht gelassen.
Es sei nochmal auf den "Bearbeiten" Button hingewiesen![face-wink face-wink](/images/icons/fa/light/face-laugh-wink.svg)
Aber es ist ja Freitag....
http://www.duden.de/rechtschreibung/Ordner
Die diversen anderen Dinge mal außer acht gelassen.
Es sei nochmal auf den "Bearbeiten" Button hingewiesen
Aber es ist ja Freitag....