UncleFather » 25 мар 2014 14:43, Вт
Возможность применения синтаксиса XML для фильтрации данных в журналах Windows стала доступна начиная с версии Vista.
Но, поскольку, сейчас у меня под рукой нет Microsoft Windows Vista, то все примеры будут рассматриваться для Windows 8.1.
Огромный плюс XML фильтров заключается в том, что можно очень хитро фильтровать события, используя синтаксис запросов.
Можно отбирать события используя не только основные его параметры, но и любой доступный параметр из описания. Чтобы посмотреть все доступные параметры, нужно открыть свойства интересующего события, перейти на вкладку «Подробности» и включить режим XML:
Отсюда можно брать как имена полей, так и их значения.
Например, чтобы отфильтровать все события, относящиеся к файлу «c:\soft\Test\MyDoc.xls» нужно создать следующий запрос:
Код: Выделить всё
*[EventData[Data[@Name="ObjectName"] and (Data='c:\soft\Test\MyDoc.xls')]]
Для этого в фильтре текущего журнала переходим на вкладку XML, ставим галочку «Изменить запрос вручную» и вставляем наш запрос между тегами <Select Path="Security"> и </Select>, чтобы получилось так:
Ну а если нам нужно сделать запрос похитрее, например, отбрать все события из журнала «Безопасность» с Уровнем - Сведения, Источником - 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.
Возможность применения синтаксиса XML для фильтрации данных в журналах Windows стала доступна начиная с версии Vista.
Но, поскольку, сейчас у меня под рукой нет Microsoft Windows Vista, то все примеры будут рассматриваться для Windows 8.1.
Огромный плюс XML фильтров заключается в том, что можно очень хитро фильтровать события, используя синтаксис запросов.
Можно отбирать события используя не только основные его параметры, но и любой доступный параметр из описания. Чтобы посмотреть все доступные параметры, нужно открыть свойства интересующего события, перейти на вкладку «[b][i]Подробности[/i][/b]» и включить режим XML:
[attachment=1]01.jpg[/attachment]
Отсюда можно брать как имена полей, так и их значения.
Например, чтобы отфильтровать все события, относящиеся к файлу «[b][i]c:\soft\Test\MyDoc.xls[/i][/b]» нужно создать следующий запрос:
[code]*[EventData[Data[@Name="ObjectName"] and (Data='c:\soft\Test\MyDoc.xls')]][/code]
Для этого в [b][i]фильтре текущего журнала [/i][/b] переходим на вкладку [b][i]XML[/i][/b], ставим галочку «[b][i]Изменить запрос вручную[/i][/b]» и вставляем наш запрос между тегами [b][i]<Select Path="Security">[/i][/b] и [b][i]</Select>[/i][/b], чтобы получилось так:
[attachment=0]02.jpg[/attachment]
Ну а если нам нужно сделать запрос похитрее, например, отбрать все события из журнала[b][i] «Безопасность» с Уровнем - Сведения, Источником - Microsoft Windows Security Auditing, Кодом - 4663, Категорией - Файловая система, Ключевым словом - Аудит успеха[/i][/b], у которых в данных самого события есть запись с именем «[b][i]ObjectName[/i][/b]», значение которой равно [b][i]c:\soft\Test\MyDoc.xls[/i][/b] (то есть, по-сути, отфильтровать все успешные события записи, относящиеся к файлу [b][i]c:\soft\Test\MyDoc.xls[/i][/b]), то XML запрос будет выглядеть так:
[code]((*[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')]]))[/code]
Подробнее читаем [url=http://www.oszone.net/10751/event_viewer_2]здесь[/url].
[hr][/hr]
[b][size=150]Дополнение:[/size][/b]
К сожалению, язык запросов XPath 1.0, используемый при XML фильтрации журналов Windows сильно урезан. Поэтому, например, фильтрация по части текста (например по части пути к файлу) в GUI интерфейсе невозможна ([url=https://social.technet.microsoft.com/Forums/ru-RU/9db921ae-0066-4ca4-9044-8a624b022e31/-?forum=ws2008r2ru]обсуждение[/url], [url=https://blogs.technet.microsoft.com/askds/2011/09/26/advanced-xml-filtering-in-the-windows-event-viewer/]статья на technet[/url]). В качестве альтернативы для выполнения произвольного запроса можно посоветовать использование PowerShell.