2015-12-07 5 views
0

Я хочу получить записи событий по их описанию (данным). Я знаю, как получить запись события с определенным описанием, однако я хочу получить запись с описанием, которое содержит строку (не равную ей). Это, я не знаю, как это сделать. Пожалуйста, помогите :)Фильтр при просмотре событий по данным

ответ

1

В соответствии с моим ответом здесь: https://stackoverflow.com/a/34119006/5089204 вы должны иметь возможность получать EventRecords.

Работа с этими событиями - довольно сложная проблема ... Каждое событие имеет свою собственную внутреннюю структуру. Общие свойства объединяются в EventRecord, но конкретные данные должны быть взяты из внутренних деталей. Используйте метод ToXml() для EventRecord ...

Для того, чтобы получить правильные события, вы должны определить EventLogQuery. Вы должны знать имя Провайдера и указать фильтр.

Попробуйте следующее: откройте eventvwr и там очередь Windows-System. Щелкните правой кнопкой мыши одно событие, откройте «Детали» и выберите «XML-View». Посмотрите на разные события, и вы обнаружите, что они совершенно разные.

Но: вы найдете там все, что вам нужно: сначала «Имя поставщика» и «EventId», эти два являются наиболее важными для «EventLogQuery».

Теперь перейдите к разделу «Определить пользовательский фильтр на текущем протоколле» -action и введите некоторые значения. Затем переключитесь на XML-фильтр и вы узнаете, как определить правильный запрос.

Мне очень жаль, что нет «легко и вообще» подход :-)

+0

Я уже знаю, фильтр на EventViewer и использовать его. Теперь я прошу совета там не в моем коде –

+1

@ Shaked.B Эта статья может помочь вам: http://blogs.technet.com/b/askds/archive/2011/09/26/advanced-xml- фильтрование-в-окна-событийного viewer.aspx. Не все XPath-функции поддерживаются! С сожалением 'содержит' нет. Вы, вероятно, загрузите записи, как показано, и отфильтруйте их в своем приложении ... – Shnugo

+0

Спасибо в любом случае :) –