You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2016事件查看器XPath非等于过滤方法咨询

Windows Server 2016事件查看器受限XPath:不等于过滤与登录事件筛选指南

受限XPath里能不能实现“不等于”过滤?

Windows Server 2016事件查看器用的受限XPath方言确实不支持直接用!=运算符,但别担心,咱们可以用not()函数绕开这个限制来实现“不等于”的逻辑。比如要排除某个属性值等于特定字符串的事件,写法大概是not(Data[@Name='目标属性名']='要排除的字符串')。

解决你筛选实际用户登录事件的问题

你说原过滤语句返回结果过多,看起来最后一个AND条件被忽略,这大概率是因为XPath的语法结构写错了。要筛选EventID=4624且LogonType为2(本地控制台登录)或10(远程RDP登录)的事件,正确的查询语句应该是这样的:

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[EventID=4624]] and *[EventData[Data[@Name='LogonType'] and (Data='2' or Data='10')]]</Select>
  </Query>
</QueryList>

原语句的问题出在哪?

从你给出的片段(Data=1 ...来看,首先可能是没写完,但更核心的问题是受限XPath对节点嵌套的要求很严格。如果你的条件没有正确嵌套在对应的节点下(比如LogonType的判断必须放在EventData节点的范围内),事件查看器就会解析失败,直接忽略掉无效的条件部分,自然就会返回一堆不符合要求的事件。

额外技巧:用not()排除特定登录类型

如果之后你需要排除某些类型的登录(比如排除服务账号登录的LogonType=5),就可以用上刚才说的not()函数,示例如下:

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[EventID=4624]] and *[EventData[Data[@Name='LogonType'] and not(Data='5')]]</Select>
  </Query>
</QueryList>

内容的提问来源于stack exchange,提问作者Luc VdV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:12:29