Я пытаюсь написать собственный фильтр журнала событий Windows для фильтрации событий, которые EventID == 1234
и имеют элемент EventData/Data
со значением find_this_string
.
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<EventID Qualifiers="16384">1234</EventID>
<Version>0</Version>
<Level>4</Level>
<Task>15</Task>
<Opcode>0</Opcode>
<Keywords>0x0000000000000000</Keywords>
<TimeCreated SystemTime="2019-04-23T12:36:26.514122100Z" />
<EventRecordID>6352806</EventRecordID>
<Correlation />
<Execution ProcessID="524" ThreadID="1072" />
<Channel>Directory Service</Channel>
<Computer>test_machine</Computer>
<Security UserID="S-0-0-0" />
</System>
<EventData>
<Data>123455666</Data>
<Data>find_this_string</Data>
<Data>1</Data>
<Data>1</Data>
<Data>abcdeg</Data>
<Data>base</Data>
<Data>options</Data>
<Data />
<Data />
<Data>2</Data>
<Data>0</Data>
<Data>0</Data>
<Data>0</Data>
<Data>0</Data>
<Data>0</Data>
<Data>none</Data>
</EventData>
</Event>
Я попыталсякуча вариаций, похожих на следующие:
<QueryList>
<Query Id="0" Path="ABCD">
<Select Path="ABCD">
*[System[(EventID=1234)]] and *[EventData[(Data[2]='find_this_string')]]
</Select>
</Query>
</QueryList>
<QueryList>
<Query Id="0" Path="ABCD">
<Select Path="ABCD">
*[System[(EventID=1234)]] and *[EventData/Data[2]='find_this_string']
</Select>
</Query>
</QueryList>
Я изо всех сил пытаюсь выяснить, как фильтровать, когда есть более одного одного и того же элемента.Я также не могу передать их через сценарий powershell и после обработки, я ищу чистый XPath-фильтр.