Фильтрация событий в журналах Windows по имени пользователя

В Windows Server 2003 / Windows XP в журнале событий системы можно было с легкостью отфильтровать события по учетной записи конкретного пользователя, указав в фильтре в поле User фильтра журнала имя нужной учетной записи. Но в Windows Server 2008 / Windows 7 и выше этот простой способ найти события, связанные с конкретным пользователем, не работает, хотя в настройках фильтра само поле User имеется (видимо осталось по-старинке).

Windows 2003 фильтрация в журналах событий

В Windows Server 2008 в стандартном виде журнала событий отсутствует поле User. Попробуем добавить его с помощью меню View -> Add/Remove Columns .

Добавить поле User в журнал Теперь в представлении журнала появился столбец User, но имени пользователя, инициатора события в этом столбце нет, вместо этого отображается N/A. Иформация об учетной записи теперь содержится внутри описания самого события ( в значениях атрибутов Security ID и Account Name в данном примере). Как же теперь можно отфильтровать события в журнале? Windows информация о пользователе в событии Для фильтрации событий по имени учетной записи пользователя ( и любым другим атрибутам событий), в Windows Server 2008 (и выше) можно воспользоваться возможность ручной модификации XML запросов ( XPath ) на выборку.

Примечание . Ранее использование XPath для нахождения интересующих событий в журнале рассматривать в статье Как запустить задание планировщика после завершения другого задания .

Итак, откройте нужный журнал в Event View (в нашем примере это журнал Security ) и в контекстном меню выберите пункт Filter Current Log… .

Перейдите на вкладку XML и отметьте чекбокс Edit query manually .

Ручная правка XML фильтра

Скопируйте следующий код, позволяющий выбрать из журнала все события по конкретному пользователю (замените username на нужную учетку).

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

xpath фильтр для выбора событий по subjectUsername Сохраняем изменения в фильтре и смотрим на журнал. В нем должны остаться события, относящиеся к данной учетке.

Выбор событий в журнале безопасности
Если, к примеру, нужно дополнительно отфильтровать события по пользователю и Event ID 4624 (Удачный вход — An account was successfully logged on) и 4625 (неудачный вход — An account failed to log on.), фильтр XPath может выглядеть так:

<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[(EventID=4624 or EventID=4625)]]</Select>
<Select Path="Security">* [EventData[Data[@Name='subjectUsername']='username']]</Select>
</Query>
</QueryList>

EnglishRussianUkrainian