web-dev-qa-db-ja.com

Windows Server 2008タスクスケジューラ:タスクが開始されました(タスク= 100)が、結果コードが2のときにタスクが完了しませんでした(タスク= 102)

誰かが、エラー(結果コード= 2)で完了する(完了したアクションはtask = 201)Windows Server 2008タスクスケジューラタスク(これを「テスト」と呼びます)を設定するためのユースケースを教えてもらえますか?これは、別のタスクのイベントトリガーコードです(「テスト」タスクのイベント履歴に基づいて電子メールを送信する「通知」と呼ばれます。

プログラムを正常に開くタスクと、プログラムがプログラムを見つけられない場合のユースケースがあります。プログラムが見つかったときにシナリオをテストする方法を考えようとしていますが、警告またはエラーで何かが失敗します。

/*  Failed - task started but had errors (result code of 2) */

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">

    *[
        System
        [
            Provider[@Name='Microsoft-Windows-TaskScheduler'] 
            and (Level=0 or Level=1 or Level=2 or Level=3 or Level=4 or Level=5) and (Task = 201)
        ]       
    ]

    and 

    *[
        EventData
        [
            Data
            [
                @Name='TaskName'
            ]='\Tasks\test'
        ]
    ]    

    and 

    *[
        EventData
        [
            Data
            [
                @Name='ResultCode'
            ]='2'
        ]
    ]

    </Select>
  </Query>
</QueryList>
1
MacGyver

エラーメッセージと重大なメッセージのすべてのシナリオをカバーする簡単な方法を見つけました。

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">

    *[
        System
        [
            Provider[@Name='Microsoft-Windows-TaskScheduler'] 
            and (Level=1 or Level=2)
        ]       
    ]

        and

    *[
        EventData
        [
            Data
            [
                @Name='TaskName'
            ]='\Tasks\test'
        ]
    ]    

    </Select>
  </Query>
</QueryList>
0
MacGyver