Daily Archives

One Article

Powershell

Overvåke filområder med Powershell?

Posted by ragnar harper on

Her er ett lite script som hjelper deg med å overvåke ett angitt filområde for endringer:

Variabelen $FolderToWatch peker på mappen du overvåker. Variabelen $filter bestemmer filtyper, og variabelen $events hvilke hendelser du ønsker å overvåke.

$folderToWatch = "C:\temp"
#MonitorFileSystem.ps1
######################
# What files to look for (* equals all, *.log only logfiles
$filter = "*"
# What event should we look for?
$events = @("Changed", "Created", "Deleted", "Renamed")
$filesystemwatcher = New-Object -TypeName System.IO.FileSystemWatcher -ArgumentList $folderToWatch, $filter
$filesystemwatcher.IncludeSubDirectories = $true
#Register the events
foreach ($event in $events){
Register-ObjectEvent -InputObject $filesystemwatcher -EventName $event -SourceIdentifier "Monitored FileSystem for $event"
}
 

Du kan se hvilke hendelser den lytter på med kommandoen Get-EventSubscriber

Get-EventSubscriber

image

Om du ønsker å se hendelsene enkelt formatert kan du ta utgangspunkt i dette scriptet:

#ListEvents.ps1
###############
$events=Get-Event
foreach($e in $events)
{
write-host $e.timegenerated,$e.SourceArgs[1].Name,$e.SourceArgs[1].ChangeType
}

Her ser du scriptene i enkel bruk:

image