Witam,
w jaki sposób można z dziennika zdarzeń wyfiltrować konkretne zdarzenie z poziomu filtrów XML-owych?
Konkretnie chodzi mi o przypadek, gdzie chcę wyfiltrować wszystkie zdarzenia z dziennika Security o ID = 4656 oraz takie, które w polu XML oznaczonym, jako "ObjectName" zawierają treść np.: *Test*.
Nie działa zapytanie (Nie zwraca wyników):
<QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[EventData[Data[@Name='ObjectName'] and (Data='TEST')]] and *[System[(EventID=4656)]] </Select> </Query> </QueryList>
Zrobić to z PowerShella można dosyć prosto filtrując treść wiadomości np.:
Get-EventLog Security -InstanceID 4656 | ? {$_.Message -match "TEST"}
Ale nie o to mi chodzi... Potrzebuję koniecznie wykorzystać filtrowanie XML po konkretnym polu, ponieważ później chcę do takiego zdarzenia przypiąć skrypt - uruchamiany tylko wtedy, gdy właśnie w polu "ObjectName" wystąpi wartość *TEST*, a nie dla każdego wystąpienia zdarzenia odpalać skrypt i w skrypcie sprawdzać wartość, bo to nie ma sensu :)
Jak więc poprawić filtrowanie XML, żeby działało jak należy?