File Monitoring FileSystemWatcher

File Monitoring FileSystemWatcher

Lesedauer 2 Minuten

Ordner- und Dateiüberwachung

Mit diesem Skript überwacht ihr Änderungen an einem Verzeichnis inkl. der Unterordner, wobei dieses einstellbar ist. Sobald eine Datei oder Ordner angelegt, verändert, umbenannt oder gelöscht wird, bekommt ihr eine Benachrichtigung per E-Mail.

Das Skript überwacht aktuell alle Verzeichnisse und Dateien. Wer nur bestimmte Dateitypen auf Veränderung überwachen möchte, der passt den check.filter entsprechend an.

Diese Lösung ersetzt kein File Integritiy Monitoring (FIM), aber es ist der erste Schritt in die richtige Richtung

File Monitoring FileSystemWatcher

$Check = New-Object System.IO.FileSystemWatcher
$Check.Path = “E:\Transfer”
$Check.Filter = “*.*”
$Check.IncludeSubdirectories = $true
$Check.EnableRaisingEvents = $true

$Alert= {
$file=$Event.SourceEventArgs.FullPath
$trigger = $Event.SourceEventArgs.ChangeType
$Date = Get-Date -Format G
Send-MailMessage -From jw@derwindowspapst.de -To mail@joernwalter.de -SmtpServer SRVEX -Subject “FileCheck” -Body “Action am $Date : $($trigger) File/Dir: $($file)” -Encoding UTF8
}

Register-ObjectEvent $Check “Created” -Action $Alert
Register-ObjectEvent $Check “Changed” -Action $Alert
Register-ObjectEvent $Check “Deleted” -Action $Alert
Register-ObjectEvent $Check “Renamed” -Action $Alert

Das Skript kann wie folgt über einen Task auch nach einem Reboot gestartet werden.

Task FileSystemwatcher

Task Trigger FileSystemWatcher

Task Aktionen FileSystemWatcher

Nachdem das Skript gestartet wurde, ist die Überwachung aktiv. Bei einem Vorfall wird direkt eine E-Mail versendet.

FileSystemWatcher Powershell Monitoring

FileSystemWatcher Action

FileSystemWatcher Action Renamed

PS File – File System Watcher Dateiüberwachung mit Stopp Funktion