通过logontype 2或logontype 3进行Get-WinEvent过滤

时间:2018-01-29 08:43:12

标签: powershell get-winevent

我来到这个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(远程)时打印网络详细信息。

1 个答案:

答案 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}