Register-ObjectEvent ищет экземпляр объекта в требуемом параметре Входной объект. Каков синтаксис для статического события объекта (Shared)?
ОБНОВЛЕНИЕ: правильный синтаксис для TimeChanged< /а>:
$systemEvents = [Microsoft.Win32.SystemEvents]
$timeChanged = Register-ObjectEvent -InputObject $systemEvents
-EventName 'TimeChanged' -Action { Write-Host "Time changed" }
К сожалению, системные события не будут передаваться в PowerShell ISE. Вот пример использования статического события объекта, которое работает везде:
$networkInformation = [System.Net.NetworkInformation.NetworkChange];
$networkAddressChanged = Register-ObjectEvent -InputObject $networkInformation
-EventName 'NetworkAddressChanged'
-Action { Write-Host "NetworkAddressChanged event signaled" }