Use a opção -FilterXPath em seu lugar!
No exemplo a seguir, salvei todos os eventos do log de segurança em minha máquina em seclog.evtx na área de trabalho e pesquise por eventos com SubjectUserSid S-1-5-18 ( LOCAL SYSTEM ):
$events = Get-WinEvent -Path "$HOME\Desktop\seclog.evtx" -FilterXPath '*[EventData[Data[@Name="SubjectUserSid"] = "S-1-5-18"]]'
Em um script, eu provavelmente optaria por uma tabela splatting para tornar a declaração pouco mais legível (aqui limitado aos últimos 10 eventos):
$seclogSplat = @{
'Path' = "$HOME\Desktop\seclog.evtx"
'FilterXPath' = '*[EventData[Data[@Name="SubjectUserSid"] = "S-1-5-18"]]'
'MaxEvents' = 10
}
$events = Get-WinEvent @seclogSplat
Você pode especificar vários critérios não exclusivos com or :
*[EventData[Data[@Name="SubjectUserSid"] = "S-1-5-18" or Data[@Name="SubjectUserSid"] = "S-1-0-0"]]
