springstil
Goto Top

Skript zum Überwachen einer Datei

Hallo zusammen,

Ich habe nicht die größte Ahnung von PowerShell aber bin dabei fleißig zu lernen face-smile

Daher brauch ich mal Hilfe. Ich würde gerne das Skript haben was Dauerhaft läuft und darauf Wartet das eine Datei erstellt wird. Wenn diese Datei erstellt wird, und NICHT gelöscht wird soll er nach ca. 10 Minuten eine Email Senden damit ich darüber bescheid weiß das die Datei noch da ist. Wenn die Email raus ist, soll er einfach solang warten bis die Datei nicht mehr vorhanden ist und dann wieder warten bis sie da ist quasi.

Email Senden ist kein Problem das kann ich über PowerShell, nur weiß ich nicht wie ich File System Watcher so einstellen soll das er wartet bis die Datei erstellt wurde und dann ein Timer laufen lässt. Vielleicht kann mir hierbei jemand helfen.

Content-ID: 1718413070

Url: https://administrator.de/contentid/1718413070

Ausgedruckt am: 24.11.2024 um 10:11 Uhr

149569
Lösung 149569 13.01.2022 aktualisiert um 10:48:15 Uhr
Goto Top
Ich würde gerne das Skript haben was Dauerhaft läuft
Dauerhaft laufende Skripte sind meist keine gute Idee. Besser wäre in deinem Fall einfach einen Scheduled Task zu erstellen der alle x Minuten läuft und prüft ob deine Datei Existiert, bzw. das Erstellungsdatum der Datei prüft und wenn das älter wie 10 Minuten ist eine Mail schickt.
Beispiel
$datei = "D:\datei.txt"  
if (Test-Path $datei -and (get-item $datei).CreationTime -lt (get-date).AddMinutes(-10)){
    Send-MailMessage  ...........................
}
Keep it simple face-wink.
Springstil
Springstil 13.01.2022 um 10:49:42 Uhr
Goto Top
Zitat von @149569:

Ich würde gerne das Skript haben was Dauerhaft läuft
Dauerhaft laufende Skripte sind meist keine gute Idee. Besser wäre in deinem Fall einfach einen Scheduled Task zu erstellen der alle x Minuten läuft und prüft ob deine Datei Existiert, bzw. das Erstellungsdatum der Datei prüft und wenn das älter wie 10 Minuten ist eine Mail schickt.
Beispiel
$datei = "D:\datei.txt"  
if (Test-Path $datei -and (get-item $datei).CreationTime -lt (get-date).AddMinutes(-10)){
    Send-MailMessage  ...........................
}
Keep it simple face-wink.

manchmal ist die Lösung so einfach :D Vielen lieben dank! Einfacher geht es ja wirklich nicht face-smile Dankeschön