Windows10のタスクスケジューラが正常に実行されない
Windows10のタスクスケジューラは、何らかの処理を自動的に行える便利な機能ですが、なぜか登録したタスクが正常に実行されないことがあります。
設定ミスや動作環境によってタスクスケジューラに登録したタスクがそもそも実行されないことも多く、知っておかないと気づきにくいトラブルです。
Windows10のタスクスケジューラが正常に実行されない場合の対処法
タスクスケジュールが正常に実行されない原因はいくつかあります。
原因によって対処法が異なるので、それぞれ見ていきましょう。
実行するファイルを移動させた
いわゆる、タスクスケジューラに登録した実行ファイルのパスで、バッチやスクリプトなどの実行ファイルにアクセスできなくなった状態です。
この場合は、タスクスケジューラが実行ファイルを見つけることができないので、必ずタスクの実行に失敗します。
ですので、ファイル整理時に移動させた心当たりがある方や、フォルダ構成は全く変えていなくてもドライブを変更した場合などは一度タスクスケジューラに設定しているファイルパスを確認してみましょう。
トリガー設定を間違えている
Windows10のタスクスケジューラーは非常に細かく実行トリガーを設定することができます。
- 特定のユーザーがログインした時
- 特定の曜日のみ
- 特定の日付のみ
有効期限を過ぎたタスクはたとえほかの実行条件を満たしていたとしても一切実行されないようになります。
この場合、タスク設定には何も間違いではないのでバグというわけではなく、登録した実行ファイルにも全く問題ありません。
ある日突然実行されなくなったという場合は、トリガー設定の有効期限を見直してみるようにしましょう
アイドル状態のみタスクを実行する設定になっている
アイドル状態とは、Windows10を一切操作していない状態のことを言います。
この状態でWindows10を使い続けていると一向にタスクが実行されないので注意が必要です。
「最上位の特権で実行する」にチェックが入っていない
チェックを入れ忘れると、設定したタスクのプログラムがエラーで起動しないので、必ずチェックを入れておきましょう。
PowerShellで作成したスクリプトを登録している
タスクスケジューラーにPowerShellで作成したスクリプトを登録していると、なぜかメモ帳が起動してしまう症状が発生してはいないでしょうか?
現状のタスクスケジューラは、PowerShellで作成したスクリプト(拡張子がps1のファイル)を登録するとなぜかメモ帳(notepad.exe)で開かれてしまい、正常に実行されません。
この問題を回避するには、実行するプログラムはPowerShell本体のexeファイルを指定し、引数に実行したいPowerShellスクリプトのファイルパスを指定します。
PowerShell本体のパスは
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
です。
半角の()を使っている
フォルダ名やファイル名に半角のカッコ()を使っている方はそれなりにいるはずです。
コピーしたファイルなどは(1)、(2)のようにナンバリングされているでしょう。
ですが、この半角カッコが問題でタスクスケジューラーではエラーになります。
バグなのか、回避するには半角カッコを使わないようにする以外ありませんので、全角カッコや別のカッコで代用するようにしてください。。
AC電源接続を実行条件にしている(デスクトップ以外)
AC電源とは、簡単に言うと電源ケーブルです。この設定が有効になっていると電源ケーブルが接続されていない状態(バッテリーで動作している状態)では実行されないようになります。
デスクトップパソコンの場合は常にAC電源に接続しておくので関係ない話ですが、ノートパソコンはバッテリーで動作させることがあるので、この設定が有効になっているとバッテリー操作時にはタスクが実行されません。
電源の接続の有無に関わらずタスクを実行したい場合は、AC電源接続関係の条件設定を外しておきましょう。