使用XPath 过滤 Windows 事件管理器

    技术2026-02-10  25

    通常不借助第三方工具的话查看Windows事件管理器过滤一些事件的方法,有时间、按名称排序、事件ID等形式

    但当事件过多,通过这些基本的方法就难以过滤出想看的日志信息,从上图可以看出有一个XML 格式的文本筛选框,下面我举个例子来看看这个XPath格式怎么编写(我不是程序员啊,可能写的很简单,都是搜索引擎学到的)

    例子1:

    大家都听说过windows 登录审计的功能吧,在组策略管理器-计算机配置-WINDOWS设置-安全设置-本地策略-审核策略-

    这里我们开启一个审核域用户登录的设置,并且通过组策略管理发布出去

    同步之后,域内计算机有使用域账户登陆时,会在域控上生成登录日志,登录失败的话会生成4771这个日志

    但是如果公司规模人数上千人,想查找指定用户的登录失败信息,不可能筛选所有的4771事件进行查看,通过图形化的GUI筛选是无法达到这个效果,这时 就要借助XML格式筛选:

     

    1.首选打开XML筛选的窗口,勾选手动编辑

    我们先找一条类似的日志,看下字段名称

    我们想过滤所有这个 user1 用户相关的日志,

     

    干货区:

    <QueryList>   <Query Id="0" Path="Security">     <Select Path="Security"> *[EventData[Data[@Name='TargetUserName'] = 'User1']] </Select>   </Query> </QueryList>

    保存执行,就会筛选出所有与user1有关的日志条目

     

    再举个例子,我们想查登录审核-指定用户的, 就要用事件ID4771和用户名进行过滤

    <QueryList>   <Query Id="0" Path="Security">     <Select Path="Security">

    *[System[(EventID=4771)]] *[EventData[Data[@Name='TargetUserName'] = 'User1']] </Select>   </Query> </QueryList>

     

     

     

     

    Processed: 0.008, SQL: 9