操作を 2 つ以上設定したタスクの実行が失敗する問題について

こんにちは。Windows プラットフォーム サポートの近藤です。

本日はタスク スケジューラにて "操作" を複数登録しているタスクの実行が失敗する問題について、ご紹介いたします。

[現象]

タスク スケジューラにて、タスクに "操作" を複数 (2 つ以上) 登録した場合、タスクのスケジュール時刻がスキップされたタイミング以降に、タスクがスケジュール実行されなくなる問題があります。

ここでタスクのスケジュール時刻がスキップされたタイミングとは、例えば、システムのシャットダウン中にタスクのスケジュール時刻 (トリガーに設定した日時) が過ぎてしまい、その後 システムを起動したタイミングが該当します。システムの再起動以外にも、システムの時刻変更、またはタスクの無効化と有効化等の操作により、同様にスケジュール時刻がスキップされる可能性があります。
スケジュール時刻がスキップされた場合、("操作" が複数登録されたタスクは) 以降のスケジュール実行の際に実行失敗します。

なお、もし事象が発生した場合でも、システムの再起動を行うか、または、一度タスクのプロパティを開き、保存を行うことで、それ以降の実行は成功します。

[発生条件]

この問題は以下の 3 つの条件を全て満たす場合に発生します。

① OS バージョンが以下のいずれかに該当する。

Windows Server 2016
Windows Server 2012 R2
Windows 10 (Version 1803 までの全てのバージョン)
Windows 8.1

② "操作" を複数 (2 つ以上) 登録しているタスク。

③ [設定] タブにて "スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する" が設定されていないタスク。

[対処策]

操作を 1 つにしていただくことで回避が可能です。
全ての処理内容を 1 つのバッチ ファイル (またはスクリプト ファイル) にまとめる、または、複数の処理を順次呼び出すバッチ ファイルを作成する等の方法が考えられます。

[関連情報]

タスク スケジューラにおいて、すべてのタスクの履歴を有効化している場合には、タスクのスケジュール時刻がスキップされたタイミング、および、事象が発生したタイミングで以下のイベントが記録されます。

タスクのスケジュール時刻がスキップされたタイミングで記録されるイベント:
------------------------------------------------------------
ログの名前: Microsoft-Windows-TaskScheduler/Operational
ソース: Microsoft-Windows-TaskScheduler
イベント ID: 153
タスクのカテゴリ: 実行されなかったタスクの起動が拒否されました
レベル: 警告
説明:
タスク スケジューラは、スケジュールに間に合わなかったため、タスク "<タスク名>" を起動しませんでした。スケジュールに間に合わなかった場合は可能なときにタスクを起動するという構成オプションの使用を検討してください。
------------------------------------------------------------

事象が発生したタイミングで記録されるイベント:
------------------------------------------------------------
ログの名前: Microsoft-Windows-TaskScheduler/Operational
ソース: Microsoft-Windows-TaskScheduler
イベント ID: 322
タスクのカテゴリ: 起動要求が無視されました。インスタンスは既に実行中です
レベル: 警告
説明:
タスク スケジューラは、タスク "<タスク名>" を起動しませんでした。同じタスクのインスタンス "<インスタンス GUID>" が既に実行されているためです。
------------------------------------------------------------

2018 年 8 月時点で、本問題を全て解消する更新プログラムのご用意はございませんため、上記の対処の実施をご検討いただけますと幸いです。

この問題について新たな情報が確認でき次第、本ブログ記事を更新させていただきます。