Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

別のタスクが終了したときに開始するタスクをスケジュールする

Windowsタスクスケジューラでは、スケジュールに従って、および特定のイベントがログに登録された後の両方でタスクを実行できます。 (「Windowsのイベントトリガー」の記事で説明されています。)この記事では、前のタスクが完了した後にスケジューラタスクを自動的に開始する方法について検討します。 。実行中のスケジューラタスクの依存関係を構成するアルゴリズムを見てみましょう。これは、ニーズに合わせてカスタマイズできます。

私の場合、1つのスクリプトが完了した後、別のユーザーアカウントから別のスクリプトを開始する必要がありました。したがって、これらのアクションを1つのタスクに統合することはできませんでした。

Pongを開始する必要があるとします。 Ping後のスケジューラタスク タスクが完了しました。タスクが開始または完了すると、このイベントに関する情報がシステムログに登録されます。 Pingタスクが完了したイベントに焦点を当てます。

タスクを開く スケジューラー コンソール( Taskschd.msc )、Pingイベントを見つけて選択し、下部のパネルで履歴に移動します タブ。このタスクに関連するすべてのイベントに関する情報が含まれています。イベントID102のイベントが必要です (タスク完了)タスクの完了後に生成されます。

別のタスクが終了したときに開始するタスクをスケジュールする

詳細に移動して、詳細なイベントの説明を開きます タブをクリックして、XMLビューを有効にします イベントの。 XMLデータによると、フィルターの作成に必要なイベントのすべての詳細を取得できます。特に、次のものが必要です。

EventID :102
プロバイダー名 :Microsoft-Windows-TaskScheduler
チャネル :Microsoft-Windows-TaskScheduler / Operational
TaskName :\ ping

別のタスクが終了したときに開始するタスクをスケジュールする

Pongタスクのトリガーを作成する場合、ID 102のイベントがログに表示されたときに開始するタスクのトリガー条件を作成する必要があります(タスクトリガーイベント時 )。ただし、問題は、Pingタスクだけでなく、タスクの完了後にEventID102が表示されることです。 別のタスクが終了したときに開始するタスクをスケジュールする

ただし、イベント選択のためのより柔軟な条件を作成することは可能です(カスタム )標準フィルターがイベントを十分に正確に選択するのに役立たない場合。 新しいイベントフィルターをクリックします :

別のタスクが終了したときに開始するタスクをスケジュールする

イベントのXMLビューからデータを指定して、新しいイベントフィルターを作成します。

イベントログ :Microsoft-Windows-TaskScheduler / Operational

イベントソース :TaskScheduler

タスクカテゴリ :タスクが完了しました

別のタスクが終了したときに開始するタスクをスケジュールする

次に、 XMLに移動します タブをクリックして、次のフィルタービュー( XPath )を確認してください。 ):

<QueryList>
<Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
<Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and Task = 102]]</Select>
</Query>
</QueryList>

別のタスクが終了したときに開始するタスクをスケジュールする

XPathコードを次のコードに変更します。これにより、ログがフィルタリングされ、\pingタスクのTaskCompletedイベントが検索されます。

<QueryList>
<Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
<Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and Task = 102]]</Select>
</Query>
</QueryList>

別のタスクが終了したときに開始するタスクをスケジュールする

イベントが追加されたら、pingタスクを開始してみてください。完了したら、すぐにポンタスクを開始する必要があります。

XPathの説明を以下に示します:

別のタスクが終了したときに開始するタスクをスケジュールする


  1. タスク スケジューラを使用して起動時にプログラムを開始する方法。

    タスク スケジューラを使用して、Windows の起動時または特定の時間にプログラムを自動的に開始する方法を学習したい場合は、このチュートリアルを読み続けてください。 Windows の起動時にプログラムを追加する通常の方法は、目的のプログラムのショートカットをスタートアップ フォルダーに配置することです。ただし、この方法は常に機能するとは限りません。特に、プログラムを実行するために管理者権限が必要な場合はそうです。この問題を回避するには、レジストリを使用して起動時にプログラムを追加するか、スケジュールされたタスクを使用して起動時にプログラムを実行します。 このチュートリアルでは、タスク

  2. Windows が自動的に起動するようにスケジュールする方法

    PC を何度も何度もスリープ状態から復帰させることにうんざりしていませんか?はいの場合は、読み続けてください。この記事の終わりまでに、特定の時間に PC が自動的にウェイクアップするようにすべてをスケジュールする方法がわかります。 Windows が自動的に起動するようにスケジュールする方法を学びます Windows を完全にオフにしている場合、自動ウェイクアップは機能しないことに注意してください。コンピューターがスリープ状態または休止状態にある場合にのみ、コンピューターのウェイクアップを自動化できます。それでは、PC のウェイクアップを自動化するための実際の手順を見てみましょう。 1.タス