2015-09-30 5 views
1

У меня есть журнал событий с тысячами событий. Я хочу создать собственный фильтр или представление, которое отображает некоторые из них. Я хочу отфильтровать их с помощью регулярного выражения (или даже простого совпадения текста) либо по всему тексту XML (как текст), либо по определенному полю. Средство просмотра событий поддерживает поиск ctl + f, но, видимо, вы не можете поместить то же действие поиска в пользовательский вид, чтобы его можно было использовать каждый раз.Фильтрация событий в средстве просмотра событий с использованием регулярного выражения

  • Окружающая среда: Сервер окна Microsoft 2012 стандарт
  • Программы: просмотр событий

Я смотрел на создание пользовательского представления, и я редактирование источника XML свойств настраиваемого представления, чтобы попытаться фильтровать их.

события выглядеть следующим образом:

<Event xmlns="http://blahblah.com"> 
    <EventData> 
    <Data>Blah smith blah 
    </Data> 
    </EventData> 
</Event> 

И я хочу, чтобы сделать текст соответствия/регулярное выражение на поле данных.

Я пробовал много вещей, как это:

<QueryList> 
    <Query Id="0" Path=""> 
    <Select Path=""> 
     *[EventData[Data=regex("*smith*")]] 
    </Select> 
    </Query> 
</QueryList> 

, а также другие линии, как

*[EventData[Data="%smith%")]] 
*[EventData[Data="%%smith%%")]] 

Но я не получаю никакого результата или неверный XPath.

Как это сделать? Мне также было бы интересно узнать имя, где я. Является ли это полным XPath или имеет определенное имя версии Microsoft? Как я могу получить список пространства имен, которое существует в пределах строки *Event? Как я могу получить доступ к ошибкам компиляции/времени выполнения для того, что интерпретирует мои попытки написать XPath?

Я также принимаю решения в виде программ, которые подключаются к API просмотра событий. Было бы лучше, если бы они были просты в использовании. & может быть интегрирован с самой программой, но даже удобная версия фильтрации журналов событий будет полезной.

В целом я просто хочу отфильтровать некоторые события из журнала событий на основе регулярного выражения (или просто простого текстового соответствия) их содержимого. Теоретически это должно быть легко сделать - ctl + f find может это сделать, события хранятся на моем локальном компьютере где-то, и у меня есть, по-видимому, сложная настраиваемая настройка фильтра.

+1

Я не думаю, что просмотр просмотра событий позволяет осуществлять поиск по диким картам. Кроме того, журнал событий Windows поддерживает подмножество XPath 1.0. Прошли ли вы через https://msdn.microsoft.com/en-us/library/ms256086.aspx? – hjpotter92

ответ

1

с помощью PowerShell, есть простое решение:

Get-EventLog -logname безопасности | где-объект {$ _. Message -like 'testsite'} | format-table Message -wrap -autosize | Out-File C: \ Users ** имя пользователя ** \ Desktop \ out.txt

Необходимо указать собственное имя пользователя, текст для поиска и путь к файлу outfile.

«Формат сообщения -wrap -autosize-table-table» гарантирует, что ваши сообщения/исключения не будут усечены. Если вы хотите посмотреть другое поле, отличное от сообщения, затем замените «$ _. Message» соответствующим именем поля.

Cheers