1月のタスクは登録時に実行されることがあります。

こんにちは、Windows プラットフォーム サポートチームです。

今回は、タスク スケジューラのトリガー設定を行う際に発生する問題を確認いたしましたのでご紹介いたします。

 

[概要]

タスク スケジューラのトリガー設定をする際に、期待した動作とならない時期があることを確認いたしました。

本来、当月の過去の日付を毎月実行のトリガーとして設定すると、翌年の同日に実行されるよう設定されますが、システム時刻が 1 月だけ期待した動作とならず、タスクを保存した時点で意図せずタスクが実行されます。

1 月だけで発生する事象ではございますが、年始に設定変更などお考えの際にはご注意くださいますようお願いいたします。

 

詳細については、後述の具体例をご参照ください。

 

[具体例]

現在のシステム時刻が 2014 年 1 月 30 日に、タスクの実行トリガーを設定する際に、毎月実行のトリガーにて、以下のように1月 15日に設定すると、タスクを保存した時点でタスクが実行されます。

 

本来であれば、現在時刻より前の時刻にトリガーを設定する場合、翌年の同日に実行されるように設定が行われます。

そのため、本例の場合次回実行時刻は 2015 年 1 月 15日 となることが想定された動作ではありますが、実行日が1月の過去の日付に設定された場合のみ、タスク スケジューラ サービス内の毎月実行のトリガーを計算する処理に問題があり、タスクを保存した時点でタスクが実行されます。

 

 

 

[回避策]

1 月の日付にて現在の時刻より前の時刻 (1月中) でトリガーを設定する場合、開始設定について明示的に指定します。

 

[対象OS]

Windows Server 2008 /Vista 以降のWindows にて発生いたします。

 

ご不便をおかけいたしますが、上記回避策にてご対応くださいますようお願いいたします。