我来到这个Get-WinEvent Obtain Interactive Logon Messages Only,试图在同一案例中使用OR
:
Get-WinEvent -FilterHashtable @{Path="c:\test.evtx"; id=4624;} | Where-Object {$_.properties[8].value -eq 2} OR {$_.properties[8].value -eq 3}
我想知道这不起作用?
如果我有两个不同的具有两个不同where子句的不同的情况会发生什么,例如: EventId 4624
和登录类型2
或登录类型3
OR
eventid 1234
和hostname = localhost
。
我需要做的是只检查logontype:2和logontype 3并在logontype为3(远程)时打印网络详细信息。
答案 0 :(得分: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}