... а если вам надо вот прям рилтайм, есть .net класс
System.Diagnostics.EventLog
а у него событие
EventWritten
$global:log = New-Object System.Collections.ArrayList
$testobj = New-Object -TypeName System.Diagnostics.EventLog
$testobj.Log = "Security"
Register-ObjectEvent -InputObject $testobj -EventName EntryWritten -Action {
param($sender, $e)
[void]$global:log.Add([PSCustomObject]@{Sender = $sender; Args = $e })
}
# Смотреть потом события в переменной
$global:log
Заменил пример на более полезный