Фильтр Get-WinEvent по типу входа 2 ИЛИ типу входа 3

Я столкнулся с этим Get-WinEvent Получить только интерактивные сообщения входа и попытался поэкспериментировать с OR в том же случае:

 Get-WinEvent -FilterHashtable @{Path="c:\test.evtx"; id=4624;} | Where-Object {$_.properties[8].value -eq 2} OR {$_.properties[8].value -eq 3}

и интересно, что это не работает?

и что произойдет, если у меня есть два разных идентификатора события с двумя разными пунктами where, например. Идентификатор события 4624 и тип входа 2 или тип входа 3
OR идентификатор события 1234 и имя хоста = localhost.

Что мне нужно сделать, так это проверить только тип входа: 2 и тип входа 3 и распечатать Network-Details, когда тип входа равен 3 (удаленный).


person Peter Core    schedule 29.01.2018    source источник


Ответы (1)


OR недействителен в PowerShell... Вероятно, вы имеете в виду -or!

В этом случае ваш код будет выглядеть так:

Get-WinEvent -FilterHashtable @{Path="c:\test.evtx"; id=4624;} |
    Where-Object {$_.properties[8].value -eq 2 -OR $_.properties[8].value -eq 3}

Кроме того, я часто нахожу оператор -in более понятным в такого рода сценариях.

Get-WinEvent -FilterHashtable @{Path="c:\test.evtx"; id=4624;} |
    Where-Object {$_.properties[8].value -in 2, 3}
person gvee    schedule 29.01.2018