Die PowerShell eignet sich auch dafür, dass man Ereignisse auf seinem Rechner im Detail überwacht, beispielsweise Aktivitäten auf der Festplatte.

Wenn eine Malware beispielsweise neue Dateien anlegt, so kann man dies mittels FileMon von SysInternals (migriert zu Process Monitor) mitbekommen. Es geht aber auch mittels PowerShell mit ein paar Befehlen, wie folgt:

$watcher = New-Object System.IO.FileSystemWatcher;
$watcher.Path = 'C:\';
$watcher.IncludeSubdirectories = $true;
$watcher.EnableRaisingEvents = $true;
Register-ObjectEvent $watcher 'Created' -Action { Write-Host 'File Created: ' $Event.SourceEventArgs.FullPath }

Man erzeugt ein neues Objekt, wählt den Pfad aus, gibt an ob es auch für Unterverzeichnisse gilt, legt fest dass man benachrichtig wird, und registriert dann dieses Objekt. Es gilt allerdings nur für die Anlage von neuen Dateien.

Weitere Infos zu dem Befehl Register-ObjectEvent lässt sich nachlesen.