我被要求找出上周用户何时登录系统。现在,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) <= 604800000]]]</Select>
<Select Path="Security">*[EventData[Data[@Name='Logon Type']='2']]</Select>
<Select Path="Security">*[EventData[Data[@Name='subjectUsername']='Domain\Username']]</Select>
</Query>
</QueryList>
它只给了我最后7天的时间,但其余的时间都无效。
有人可以协助我吗?
编辑
感谢Lucky Luke的建议,我一直在进步。以下是我当前的查询,尽管正如我将解释的那样,它不返回任何结果。
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[(EventID='4624')]
and
System[TimeCreated[timediff(@SystemTime) <= 604800000]]
and
EventData[Data[@Name='TargetUserName']='john.doe']
and
EventData[Data[@Name='LogonType']='2']
]
</Select>
</Query>
</QueryList>
正如我提到的,它没有返回任何结果,所以我一直在弄弄它。我可以得到它以正确产生结果,直到我在LogonType行中添加为止。在那之后,它不返回任何结果。知道为什么会这样吗?
编辑2
我将LogonType行更新为以下内容:
EventData[Data[@Name='LogonType'] and (Data='2' or Data='7')]
这应该捕获“工作站登录”以及“工作站解锁”,但是我仍然一无所获。然后,我对其进行修改以搜索其他类型很多的登录类型,例如3或8。这使我相信查询可以正常工作,但是由于某种原因,事件日志中没有登录类型等于2的条目,这对我来说是没有意义的。是否可以关闭此功能?