コンテンツにスキップ
Say Tech Co Jp Yamanxworld 2026vol211

Windowsイベントトリガータスクでイベント値を変数として引数に渡す方法

  • URL: https://www.say-tech.co.jp/contents/blog/yamanxworld/2026vol211
  • 日付: 2026-06-18
  • Tier: Tier 2
  • 要旨: Windows Server/クライアントのタスクスケジューラにおいて、イベントログのイベントID・プロバイダー・サービス名・タイムスタンプ等をGUIでは設定できない変数($(値の名前)形式)として引数に渡す方法を解説。タスクをXMLにエクスポートし、<ValueQueries>タグでXPATH式と変数名を定義し、<Arguments>タグ内で参照させてインポートする手順。

詳細

手順概要

  1. タスクスケジューラでイベント時トリガータスクをXMLファイルにエクスポート
  2. <EventTrigger>タグ内に<ValueQueries>タグを追加
  3. XPATH式(Event/System/EventID等)と変数名(name=“EventID"等)を定義
  4. <Exec><Arguments>内で$(EventID)のように参照
  5. 元のタスクを削除し、編集後のXMLをインポートして復元

実用例(サービス開始/停止イベントID 7036)

日時(UTC)・EventID・Provider・Source・Level・サービス名・状態の7変数をPowerShellスクリプトに渡す設定が示されている。

補足

パフォーマンスモニターのデータコレクターセットもタスクスケジューラと連動可能(詳細は次号)。かつてあった「電子メールの送信」アクションは廃止済みで、現在はPowerShell等を経由する必要がある。メール送信が必要な場合は、Microsoft 365のOAuth2認証に対応した専用ツールの導入が実用的と著者は述べている。