Register-ObjectEvent busca una instancia de objeto en el parámetro requerido InputObject. ¿Cuál es la sintaxis del evento estático de un objeto (Shared)?¿Cuál es la sintaxis para suscribirse al evento estático de un objeto en PowerShell?
ACTUALIZACIÓN: sintaxis correcta para TimeChanged:
$systemEvents = [Microsoft.Win32.SystemEvents]
$timeChanged = Register-ObjectEvent -InputObject $systemEvents
-EventName 'TimeChanged' -Action { Write-Host "Time changed" }
Por desgracia, los SystemEvents no se señalizan en PowerShell ISE. He aquí una muestra usando evento staic de un objeto que funciona en todas partes:
$networkInformation = [System.Net.NetworkInformation.NetworkChange];
$networkAddressChanged = Register-ObjectEvent -InputObject $networkInformation
-EventName 'NetworkAddressChanged'
-Action { Write-Host "NetworkAddressChanged event signaled" }
Hay un bucle de mensajes ejecutándose en PowerShell, pero debe ejecutarlo como administrador para acceder a él. –