ワイルドカードを使用して Windows イベント ログをフィルターする方法は?

ワイルドカードを使用して Windows イベント ログをフィルターする方法は?

文書によればここ、アスタリスク ワイルドカードがサポートされているので、たとえば次のように動作するはずです。

*[EventData[データ[@Name='TargetUserName'] ='User1*']]

しかし、ワイルドカード フィルターを機能させることができません。これを実行できた人はいますか?

答え1

XPath セレクターは * で始まる必要がありますが、Xpath 1.0 にはcontains演算子がないため、フィールドをフィルター処理するために * を使用することはできません。

https://blogs.technet.microsoft.com/askds/2011/09/26/advanced-xml-filtering-in-the-windows-event-viewer/

XPath 1.0 の制限: Windows イベント ログは、XPath 1.0 のサブセットをサポートしています。クエリで機能する関数には制限があります。たとえば、、および関数はクエリ内で使用できますが、やなどの他の関数はposition現在サポートされていません。Bandtimediffstarts-withcontains

答え2

Powershellを使用する

Get-EventLog -LogName "System" | ?{$_.Message -like "*YourSearchString*"} | Out-GridView

関連情報