Windowsのタスクスケジューラがスリープ中に処理を始めない場合、スリープ解除条件、電源・バッテリー条件、タスクの実行時刻を確認します。タスクが有効でも、端末が眠っていると開始できない場合があります。

PCのスリープとタスク開始条件を調べる

  • タスクの「条件」でスリープ解除の設定を確認します。
  • AC電源でのみ開始する設定になっていないか調べます。
  • PCの電源オプションや組織ポリシーでウェイクタイマーが制限されていないか確認します。
  • 予定時刻を過ぎた後にすぐ実行する設定と、タスク履歴を確認します。

復帰設定と遅延実行の条件を検査する

  1. 本番処理を実行しない診断用タスクを作成します。
  2. タスクの[条件]で必要な場合に「タスクを実行するためにスリープを解除する」設定を確認します。
  3. Windowsの電源設定でウェイクタイマーを許可するか、組織管理者と確認します。
  4. 診断用タスクを近い時刻へ設定してスリープ状態からの実行をテストします。
  5. タスクの履歴とログで、予定時刻・実行時刻・最終結果を比較します。

スリープ条件と開始後の失敗を分ける

  • 電源設定を変えると電池消耗やセキュリティに影響するため、必要性を確認します。
  • 完全シャットダウン中にスリープ解除と同じ処理ができるとは限りません。
  • ログオン後にしか使えないネットワークドライブに依存していると、起動しても別の問題で停止する場合があります。

タスク履歴と電源条件を確かめる

  • スリープ中の試験を少なくとも1回実施し、診断ログに実行時刻が記録されるか確認します。
  • そのうえで本番の処理を戻します。

深夜のタスクが実行されないケース

タスクスケジューラで午前2時の処理を登録していても、PCがスリープしていると開始できないことがあります。タスクの[条件]にある「タスクを実行するためにスリープを解除する」の設定、電源やバッテリーに関する条件、Windowsのスリープ・休止状態を分けて確認します。

タスク自体が開始されていないのか、開始したがスクリプト内で失敗したのかは別問題です。[履歴]と前回の実行結果を確認し、必要なら「開始予定時刻を過ぎたらすぐ実行する」など利用可能な設定を検討します。実際の電源状態を変える操作はPCの運用方針に合わせて行ってください。

参考資料

おすすめの記事