Немного о применении XML запросов в журналах Windows

Все об администрировании рабочих станций Windows 95/98/NT/2000/XP/7/8. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1505
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Немного о применении XML запросов в журналах Windows

Сообщение UncleFather »

Возможность применения синтаксиса XML для фильтрации данных в журналах Windows стала доступна начиная с версии Vista.
Но, поскольку, сейчас у меня под рукой нет Microsoft Windows Vista, то все примеры будут рассматриваться для Windows 8.1.

Огромный плюс XML фильтров заключается в том, что можно очень хитро фильтровать события, используя синтаксис запросов.
Можно отбирать события используя не только основные его параметры, но и любой доступный параметр из описания. Чтобы посмотреть все доступные параметры, нужно открыть свойства интересующего события, перейти на вкладку «Подробности» и включить режим XML:

01.jpg

Отсюда можно брать как имена полей, так и их значения.

Например, чтобы отфильтровать все события, относящиеся к файлу «c:\soft\Test\MyDoc.xls» нужно создать следующий запрос:

Код: Выделить всё

*[EventData[Data[@Name="ObjectName"] and (Data='c:\soft\Test\MyDoc.xls')]]

Для этого в фильтре текущего журнала переходим на вкладку XML, ставим галочку «Изменить запрос вручную» и вставляем наш запрос между тегами <Select Path="Security"> и </Select>, чтобы получилось так:

02.jpg

Ну а если нам нужно сделать запрос похитрее, например, отбрать все события из журнала «Безопасность» с Уровнем - Сведения, Источником - Microsoft Windows Security Auditing, Кодом - 4663, Категорией - Файловая система, Ключевым словом - Аудит успеха, у которых в данных самого события есть запись с именем «ObjectName», значение которой равно c:\soft\Test\MyDoc.xls (то есть, по-сути, отфильтровать все успешные события записи, относящиеся к файлу c:\soft\Test\MyDoc.xls), то XML запрос будет выглядеть так:

Код: Выделить всё

((*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (Level=4 or Level=0) and Task = 12800 and (band(Keywords,9007199254740992)) and (EventID=4663)]]) and (*[EventData[Data[@Name="ObjectName"] and (Data='c:\soft\Test\MyDoc.xls')]]))

Подробнее читаем здесь.


Дополнение:

К сожалению, язык запросов XPath 1.0, используемый при XML фильтрации журналов Windows сильно урезан. Поэтому, например, фильтрация по части текста (например по части пути к файлу) в GUI интерфейсе невозможна (обсуждение, статья на technet). В качестве альтернативы для выполнения произвольного запроса можно посоветовать использование PowerShell.


Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение