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

Windows Event Log XML查询进程创建事件异常:Server2012可用Win10无效

解决Windows 10中安全日志4688事件XML查询失效的问题

你遇到的这个情况其实很典型——同样的安全日志XML查询在Windows Server 2012上运行正常,到了Windows 10就完全失效了。核心原因是不同Windows版本的事件日志XPath解析引擎对多条件组合的语法要求有细微差异,咱们直接来修正这个查询并解释原因。

你原来的查询代码

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[EventData[Data[@Name='NewProcessName'] and (Data='C:\Windows\System32\process0.exe' or Data='C:\Windows\System32\process1.exe' or Data='C:\Windows\process2.exe')]] and *[System[(EventID=4688)]]
    </Select>
  </Query>
</QueryList>

问题出在哪?

你原来的写法用了两个独立的*[]表达式做AND运算,这种写法在Windows Server 2012的日志解析器中可以被正确处理,但Windows 10的解析引擎对这种跨节点的分离式条件组合支持不够友好,导致查询无法匹配到任何事件。

修正后的查询代码

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[System[EventID=4688] and EventData[Data[@Name='NewProcessName'] and (Data='C:\Windows\System32\process0.exe' or Data='C:\Windows\System32\process1.exe' or Data='C:\Windows\process2.exe')]]
    </Select>
  </Query>
</QueryList>

为什么这样改?

这个修正版把**EventID条件(来自System节点)和进程名称条件(来自EventData节点)**合并到了同一个事件节点的判断逻辑中,Windows 10的日志引擎可以正确识别这种结构化的条件组合,从而准确匹配到你要找的4688事件。

额外排查建议

如果修正后还是没结果,可以检查这两点:

  • 确认Windows 10的本地安全策略已经开启了「审核进程创建」的成功审核(路径:本地安全策略 → 本地策略 → 审核策略 → 审核进程创建)
  • 手动在事件查看器中找一条4688事件,对比NewProcessName字段的实际值和你查询中的路径是否完全一致(注意大小写、是否带引号等细节)

内容的提问来源于stack exchange,提问作者Red John

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:23:34