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"]]