使用 XPath-Filter 过滤 Windows 事件日志

问题描述 投票:0回答:1

我尝试过滤 Windows 事件日志以获取“真实”交互式登录/解锁事件。为此,我编写了以下 XPath 过滤条件:

*[System
    [EventID=4624]
    [TimeCreated[@SystemTime>'2022-02-09T15:38:26']]
]
[EventData
    [Data
        [@Name='LogonType'] and 
        (Data=2 or Data=7 or Data=10 or Data=11)
    ] 
    [Data
        [@Name='WorkstationName'] and
        (Data!='-')
    ]
]

但出于任何原因,最后一个条件没有过滤任何东西。我仍然看到 WorkstationName = '-' 的事件。即使我否定了条件,它也会给我完全相同的事件。我需要如何将过滤器配置为具有基于 EventData 和 AND 逻辑的 2 个条件?

如果您想在 EventLog-Viewer 中测试它,请使用完整的 Filter-XML(跳过时间过滤器):

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
 Event
    [System
        [EventID=4624]
    ]
    [EventData
        [Data
            [@Name='LogonType'] and 
            (Data=2 or Data=7 or Data=10 or Data=11)
       ]
       [Data
            [@Name='WorkstationName'] and
            (Data!='-')
        ]
    ] 

</Select>
  </Query>
</QueryList>
xpath event-log
1个回答
0
投票

使用: [EventData[Data[@Name='WorkstationName']='-']]

您选择您感兴趣的事件(在上面的示例中特定的身份验证事件),然后抑制那些您不感兴趣的事件。抑制行数没有限制。唯一的问题是需要完全匹配,您不能使用正则表达式或通配符。

© www.soinside.com 2019 - 2024. All rights reserved.