Ask CORE

Microsoft Japan Windows Technology Support

第 N 週にスケジュールされたタスクが 1 週間前に実行される事象について

 

[更新履歴]
2018 年 3 月 7 日 タイトルを以下のとおり変更し、調査状況を更新しました。
修正前: 第 2 週/第 4 週にスケジュールされたタスクの実行が 1 週前にずれる事象について
修正後: 第 N 週にスケジュールされたタスクが 1 週間前に実行される事象について

2018 年 4 月 16 日 発生条件を修正しました。

2018 年 5 月 1 日 再検証の結果、発生条件から「実行月の 1 日が、日曜日以外であること」を除外しました。

Windows プラットフォーム サポートの佐々木です。

第 N 週にスケジュールしたタスクが、1 週間前に開始される、または、タスクが実行されない問題を確認しており、2018 年 5 月 1 日現在、この問題の修正に向けた対応を進めております。

事象の発生条件

本事象が発生する条件について、以下に記載いたします。

・第 N 週にスケジュールされた場合、実行日が 7 の倍数の日にちであること。

2018 年に本事象が発生する日時を、以下のカレンダーに黒丸と赤丸で示します。

黒丸の日時のタスクの動作

タスクが開始されない日時になります。この動作の例を、以下に記載します。
・第 1 週の日曜日にタスクを開始するよう設定した場合、1 月、10 月のタスクは実行されません。
・第 1 週の水曜日にタスクを開始するよう設定した場合、2 月、3 月、11 月のタスクは実行されません。
・第 1 週の金曜日にタスクを開始するよう設定した場合、9 月、12 月のタスクは実行されません。

赤丸の日時のタスクの動作

タスクが 1 週間前に実行されます。この動作の例を、以下に記載します。
・第 2 週の日曜日にタスクを開始するよう設定した場合、1 月だと、本来、1 月 14 日に実行されるべきですが、1 月 7 日 に実行されます。10 月だと、本来、10 月 14 日に実行されるべきですが、10 月 7 日 に実行されます。
・第 3 週の日曜日にタスクを開始するよう設定した場合、1 月だと、本来、1 月 21 日に実行されるべきですが、1 月 14 日 に実行されます。10 月だと、本来、10 月 21 日に実行されるべきですが、10 月 14 日 に実行されます。
・第 4 週の日曜日にタスクを開始するよう設定した場合、1 月だと、本来、1 月 28 日に実行されるべきですが、1 月 21 日 に実行されます。10 月だと、本来、10 月 28 日に実行されるべきですが、10 月 21 日 に実行されます。

この問題は、以下の OS で発生する事象であることを確認しております。
・Windows Server 2016
・Windows 10 Version 1511
・Windows 10 Version 1607
・Windows 10 Version 1703
・Windows 10 Version 1709

以下の OS では発生しないことを確認しております。
・Windows Server 2008
・Windows Server 2008 R2
・Windows Server 2012
・Windows Server 2012 R2
・Windows 7
・Windows 8.1
・Windows 10 Version 1507

回避策

現在、本事象の修正に向け対応を進めておりますが、OS の設定変更などによる回避策はございません。
恐れ入りますが、タスクのトリガーを [毎週] に設定いただいた上で、現在の日付が第何週目であるかを計算するバッチ ファイルなどを登録いただき、該当する曜日にのみ、開始したいアプリケーションや、スクリプトを実行するなどのご検討をお願いいたします。

事象が再現するシナリオ

本事象が発生するシナリオについて、第 2 週の日曜日にタスクを開始するよう設定した際の動作を例にして説明します。

1. 新しいタスクを作成します。

[新しいトリガー] 画面にて、以下の設定を行います。
設定: “毎月”
開始: <2018/01/01> <13:00:00>
月: “すべての月を選択”
曜日: <“第 2”> <日曜日>

2. 2018 年 1 月 7 日 13:00 (第 1 日曜日) のタスクの状況です。

※ 13:00 になると、タスクが開始されます。(本来実行される日時ではありませんので想定しない動作です。)
※ [次回実行時刻] は、”2018/01/14 13:00:00″ のままです。

3. 2018 年 1 月 14 日 13:00 (第 2 日曜日) のタスクの状況です。

※ 13:00 になっても、タスクは開始されません。(本来タスクが実行される日時ですので想定されない動作です。)
※ [次回実行時刻] は、”2018/02/11 13:00:00″ に更新されます。

4. 2018 年 2 月 4 日 13:00 (第 1 日曜日) のタスクの状況です。

※ 13:00 になっても、タスクは開始されません。(本来タスクが実行されるべき日時ではありませんので想定する動作です。)
※ [次回実行時刻] は、”2018/02/11 13:00:00″ のままです。

5. 2018 年 2 月 11 日 13:00 (第 2 日曜日) のタスクの状況です。

※ 13:00 になると、タスクが開始されます。 (本来タスクが実行されるべき日時ですので想定する動作です。)
※ [次回実行時刻] は、”2018/03/11 13:00:00″ に更新されます。

本シナリオの場合には、2018 年 2 月から 2018 年 9 月までは、事象は発生せず、第 2 日曜日にタスクが開始されます。
次回事象発生月は、2018 年 10 月となり、10 月 14 日に実行されるべきはずですが、10 月 7 日にタスクが実行されます。