Меня попросили выяснить, когда пользователь вошел в систему на прошлой неделе. Теперь журналы аудита в Windows должны содержать всю необходимую мне информацию. Я думаю, что если я ищу событие с кодом 4624 (успешный вход в систему) с определенным пользователем AD и типом входа 2 (интерактивный вход в систему), то это должно дать мне необходимую информацию, но в течение жизни я не могу понять, как на самом деле фильтровать Журнал событий, чтобы получить эту информацию. Возможно ли это в средстве просмотра событий или вам нужно использовать внешний инструмент для его анализа на этом уровне?
Я нашел 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, и для меня это не имеет смысла. Можно ли это отключить?