按用户和登录类型过滤安全日志

Tri*_*ido 20 security windows-server-2008 windows-event-log eventviewer

我被要求查明上周用户何时登录系统。现在 Windows 中的审计日志应该包含我需要的所有信息。我想如果我使用特定的 AD 用户和登录类型 2(交互式登录)搜索事件 ID 4624(登录成功),它应该为我提供所需的信息,但在我的一生中,我无法弄清楚如何实际过滤事件日志以获取此信息。是否可以在事件查看器内部使用,或者您是否需要使用外部工具将其解析到此级别?

我发现http://nerdsknowbest.blogspot.com.au/2013/03/filter-security-event-logs-by-user-in.html这似乎是我需要的一部分。我稍微修改了一下,只给了我最后 7 天的价值。下面是我试过的 XML。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[(EventID=4624) and TimeCreated[timediff(@SystemTime) &lt;= 604800000]]]</Select>
    <Select Path="Security">*[EventData[Data[@Name='Logon Type']='2']]</Select>
    <Select Path="Security">*[EventData[Data[@Name='subjectUsername']='Domain\Username']]</Select>
  </Query>
</QueryList>
Run Code Online (Sandbox Code Playgroud)

它只给了我最后 7 天,但其余时间都不起作用。

任何人都可以帮助我吗?

编辑

感谢Lucky Luke的建议,我一直在进步。下面是我当前的查询,尽管我将解释它没有返回任何结果。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
     *[System[(EventID='4624')]
     and
     System[TimeCreated[timediff(@SystemTime) &lt;= 604800000]]
     and
     EventData[Data[@Name='TargetUserName']='john.doe']
     and
     EventData[Data[@Name='LogonType']='2']
     ] 
    </Select>
  </Query>
</QueryList>
Run Code Online (Sandbox Code Playgroud)

正如我所提到的,它没有返回任何结果,所以我一直在弄乱它。在我添加 LogonType 行之前,我可以让它正确产生结果。之后,它不返回任何结果。知道为什么会这样吗?

编辑 2

我将 LogonType 行更新为以下内容:

EventData[Data[@Name='LogonType'] and (Data='2' or Data='7')]
Run Code Online (Sandbox Code Playgroud)

这应该捕获工作站登录以及工作站解锁,但我仍然一无所获。然后我修改它以搜索其他登录类型,如 3 或 8,它找到了很多。这让我相信查询工作正常,但由于某种原因,事件日志中没有登录类型等于 2 的条目,这对我来说毫无意义。是否可以关闭此功能?

Luc*_*uke 20

您走对了 - 查询中的错误之一是“登录类型”中的空格,它应该只是“登录类型”。

我在下面粘贴了一个我刚刚验证作品的查询。它有点简化,但你明白了。它显示了来自用户“john.doe”的所有 4624 个登录类型为 2 的事件。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[
        EventData[Data[@Name='LogonType']='2']
        and
        EventData[Data[@Name='TargetUserName']='john.doe']
        and
        System[(EventID='4624')]
      ] 
    </Select>
  </Query>
</QueryList>
Run Code Online (Sandbox Code Playgroud)

您可以在此处的事件查看器中找到有关 XML 查询的更多信息:http : //blogs.technet.com/b/askds/archive/2011/09/26/advanced-xml-filtering-in-the-windows-event-查看器.aspx

您可以使用 wevtutil.exe 从命令行查询事件:http ://technet.microsoft.com/en-us/magazine/dd310329.aspx 。