曜日指定のタスクスケジューラが1日前に実行される?9:00に設定はNG!

こんにちわますのです。
何やらタスクスケジューラの挙動がおかしい…。月曜~金曜日の9時に起動するはずのタスクが、日曜日~金曜日で動いているのです。
昔から使っていたので急におかしくなって何か変だなぁと思っていたら、WindowsUpdateのバグのような動作だったのです。

曜日指定のタスクが前の曜日に実行されてしまう問題について

わたしが気付いたのは2019年末でしたが、2019年3月のWindowsUpdate以降分は全て同じ現象が出るみたいですね。
まだ改善されていないのでもう改善しなそうな気配であります。

原因

恐らくですが、UTC 0:00に該当するため、判定条件でおかしくなっているのではないかと思います。
ソース見つからなかったのであくまでも予想です。

どんな動作になるのか?

実際に設定すると、指定した曜日の1日前から起動するようになります。
設定した曜日+1回分余計に動く挙動です。

・設定:土日の9:00(JST)の2回定期実行予定
・動作:金土日の9:00(JST)の3回定期実行される

発生する条件

  •  Windows のバージョンが以下であること。
    – Windows 8.1 / Windows Server 2012 R2
    – Windows 10 Enterprise 2016 LTSB / Windows Server 2016
    – Windows 10 Version 1903
    ※試していないですがWindows Server 2019でもなるのではないかと思います。
  • 2019 年 3 月 第 3 週以降の更新プログラムが適用されていること。
    ※ Windows 10 Version 1903 はリリース段階から該当します。
  • 毎週や毎月の指定された曜日に実行するタスクであること。
  • タスクの実行時間が日本時間 AM 9:00 (協定世界時 0:00) であること。

以上の条件に一つでも該当しない場合は本事象は発生いたしません。

ざっくりいうと
毎週・毎月で「曜日をしている」&「日本時間 9:00:00」を指定した場合が該当するようですね。

対処方法

今のところパッチで修正された情報も出ていないようです。
そのため日本時間9時の起動は諦めて、1分程度時間をずらして実行させる方法が安全なようです。

何かと軽微な処理をするにはタスクスケジューラは重宝しているので、時間通りに動かないバグには驚きましたです。
なかなかこの原因にたどり着けなかったので、しばらくは該当するユーザ皆様に説明してごめんなさいをする日々でした良き思い出。
今後タスクスケジューラを組む際は絶対に9時しないです。

あと実行ファイルに全角で()かーを入れるとタスクが動かないとかというのもあったのですが記憶が薄い…。
ファイル名と時間には気を付けたいと思った所存であります。

最新情報をチェックしよう!