$watcher = [System.IO.FileSystemWatcher]::new("C:\Users\swills\Desktop\test") $watcher.IncludeSubdirectories = $true Register-ObjectEvent $watcher Created -Action { Write-Host "$($Event.SourceEventArgs.ChangeType) $($Event.SourceEventArgs.Name)" } Register-ObjectEvent $watcher Renamed -Action { Write-Host "$($Event.SourceEventArgs.ChangeType) $($Event.SourceEventArgs.Name)" } Register-ObjectEvent $watcher Changed -Action { Write-Host "$($Event.SourceEventArgs.ChangeType) $($Event.SourceEventArgs.Name)" } Register-ObjectEvent $watcher Deleted -Action { Write-Host "$($Event.SourceEventArgs.ChangeType) $($Event.SourceEventArgs.Name)" } try { while($true) { Start-Sleep -Milliseconds 100 } } finally { $watcher.Dispose() }