イベントの使用 (Windows イベント ログ)
チャネルまたはログ ファイルからイベントを使用できます。 イベントを使用するには、すべてのイベントを使用するか、使用するイベントを識別する XPath 式を指定します。 XPath 式で使用できるイベントの要素と属性を確認するには、「 イベント スキーマ」を参照してください。
Windows イベント ログでは、XPath 1.0 のサブセットがサポートされています。 制限事項の詳細については、「 XPath 1.0 の制限事項」を参照してください。
次の例は、単純な XPath 式を示しています。
// The following query selects all events from the channel or log file
XPath Query: *
// The following query selects all the LowOnMemory events from the channel or log file
XPath Query: *[UserData/LowOnMemory]
// The following query selects all events with a severity level of 1 (Critical) from the channel or log file
XPath Query: *[System/Level=1]
// The following query shows a compound expression that selects all events from the channel or log file
// where the printer's name is MyPrinter and severity level is 1.
XPath Query: *[UserData/*/PrinterName="MyPrinter" and System/Level=1]
// The following query selects all events from the channel or log file where the severity level is
// less than or equal to 3 and the event occurred in the last 24 hour period.
XPath Query: *[System[(Level <= 3) and TimeCreated[timediff(@SystemTime) <= 86400000]]]
EvtQuery 関数または EvtSubscribe 関数を呼び出すときに XPath 式を直接使用することも、XPath 式を含む構造化 XML クエリを使用することもできます。 1 つのソースからイベントを照会する単純なクエリの場合、XPath 式を使用しても問題ありません。 XPath 式が 20 を超える式を含む複合式である場合、または複数のソースからのイベントに対してクエリを実行する場合は、構造化 XML クエリを使用する必要があります。 構造化 XML クエリの要素の詳細については、「 クエリ スキーマ」を参照してください。
構造化クエリは、イベントのソースと、1 つ以上のセレクターまたは抑制を識別します。 セレクターには、ソースからイベントを選択する XPath 式が含まれており、サプレッサーには、イベントが選択されないようにする XPath 式が含まれています。 複数のソースからイベントを選択できます。 セレクターとサプレッサーが同じイベントを識別した場合、イベントは結果に含まれません。
セレクターと抑制機能のセットを指定する構造化 XML クエリを次に示します。
<QueryList>
<Query Id="0">
<Select Path="Application">
*[System[(Level <= 3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]
</Select>
<Suppress Path="Application">
*[System[(Level = 2)]]
</Suppress>
<Select Path="System">
*[System[(Level=1 or Level=2 or Level=3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]
</Select>
</Query>
</QueryList>
クエリの結果セットには、クエリの時点でイベントのスナップショットが含まれていません。 代わりに、結果セットにはクエリ時のイベントが含まれます。また、結果の列挙中にクエリ条件に一致する新しいイベントもすべて含まれます。
Note
イベントの順序は、同じスレッドによって書き込まれるイベントに対して保持されます。 ただし、複数のプロセッサ コンピューターの異なるプロセッサ上の個別のスレッドによって書き込まれたイベントが順序外に表示される可能性があります。
イベントの使用の詳細については、次のトピックを参照してください。
イベントを使用するための標準的なエンド ユーザー ツールは次のとおりです。
XPath 1.0 の制限事項
Windows イベント ログでは、XPath 1.0 のサブセットがサポートされています。 主な制限は、イベント セレクターでイベントを表す XML 要素のみを選択できることです。 イベントを選択しない XPath クエリが無効です。 有効なすべてのセレクター パスは、 * または "Event" で始まります。 すべての場所パスはイベント ノードで動作し、一連の手順で構成されます。 各ステップは、軸、ノード テスト、述語の 3 つの部分の構造です。 これらの部分と XPath 1.0 の詳細については、「 XML パス言語 (XPath)」を参照してください。 Windows イベント ログでは、式に次の制限があります。
- 軸: 子 (既定値) と属性 (およびその短縮形の "@") 軸のみがサポートされています。
- ノード テスト: ノード名と NCName テストのみがサポートされます。 任意の文字を選択する "*" 文字がサポートされています。
- 述語: 場所パスが次の制限に準拠している場合、任意の有効な XPath 式を使用できます。
- 標準演算子 OR、 AND、=、!=、=、 <=、 <、 >=、 >およびかっこがサポートされています。
- ノード名の文字列値の生成はサポートされていません。
- 逆順の評価はサポートされていません。
- ノード セットはサポートされていません。
- 名前空間のスコープはサポートされていません。
- 名前空間、処理、およびコメント ノードはサポートされていません。
- コンテキスト サイズはサポートされていません。
- 変数バインドはサポートされていません。
- position 関数とその短縮配列参照は、(リーフ ノードでのみ) サポートされています。
- Band 関数がサポートされています。 この関数は、2 つの整数引数に対してビットごとの AND を実行します。 ビットごとの AND の結果が 0 以外の場合、関数は true と評価されます。それ以外の場合、関数は false に評価されます。
- timediff 関数がサポートされています。 関数は、2 番目の引数と最初の引数の差を計算します。 引数の 1 つはリテラル番号である必要があります。 引数には FILETIME 表現を使用する必要があります。 結果は、2 回の間のミリ秒数です。 2 番目の引数が後の時刻を表す場合、結果は正になります。それ以外の場合は負の値になります。 2 番目の引数が指定されていない場合は、現在のシステム時刻が使用されます。