2022年03月30日更新
【Windows10】タスクスケジューラでタスクが実行されない原因と対策
Windows10のタスクスケジューラを設定しておくことで便利な部分も多いですが、設定を間違えると実行されないことがあります。タスクスケジューラが実行されない場合、どのような原因があるのか、対処法を含め解説していきます。
【Windows10】タスクスケジューラでタスクが実行されない原因と対策
Windows10は、定期的な、もしくは指定したタイミング/条件でプログラムを起動/実行するように設定にタスクスケジューラがあります。
タスクスケジューラでタスク/コマンドが実行/起動されない原因
そのタスクスケジューラでタスクやコマンドが実行されない/起動しない場合、原因としては次のことが考えられます。
実行対象のパッチ/スクリプトパスが間違っている
まず考えられるのは実行対象となるプログラムのファイルのパスからバッチやスクリプトなどといった実行ファイルにアクセスできないことです。
トリガー設定が間違っている
また、タスクスケジューラのトリガー設定が間違っている場合や有効期限を過ぎているような場合なども実行されないことになります。
アイドル状態のみタスクを実行する設定
Windows10を一切操作していない状態をアイドル状態といいますが、その状態のみタスクを実行する設定になっている場合はWindows10での操作を続けている限りタスクが実行されない状態となります。
「最上位の特権で実行する」にチェックが入っていない
管理者権限が必要なものはタスクスケジューラで「最上位の特権で実行する」にしておかないと実行されないです。入れていない場合はエラーになり、当然エラーが生じているわけですから実行されないわけです。
PowerShellで作成したスクリプトを登録している
Windows10のタスクスケジューラでは、PowerShellで作成したスクリプト(「.ps1」の拡張子)を登録するとメモ帳が開いてしまいます。それを解消しなければタスクスケジューラに登録した内容が実行されないことになります。
パスに半角カッコ”()”が入っている
なお、タスクスケジューラでは、プログラムパス――ファイル名やフォルダ名に半角のカッコ”()”が入っているが入っているとパスが無効になるようで、エラーが生じます。
「コンピューターをAC電源で使用している場合のみタスクを開始する」にチェックしている
タスクスケジューラののタスクの実行条件が「コンピューターをAC電源で使用している場合のみタスクを開始する」になっている場合も原因となっている可能性があります。特にノートパソコンの人はこちらの原因も考えてみてください。
対処法
タスクスケジューラが実行されない場合の対処法の説明に移ります。
履歴を有効化しておく
タスクスケジューラで指定した場所にバッチやスクリプトがない、実行ファイル名が間違っているような場合は、タスクスケジューラの履歴上でエラーが吐き出されています。
この履歴が無効になっているとエラーの確認ができないため、無効になっている場合は有効にしておきましょう。
「eventvwr.msc」をファイル名を指定して実行し、[アプリケーションとサービスログ] – [Microsoft] – [Windows] – [TaskScheduler]の「Operational」で右クリックしてプロパティを開き、「ログを有効にする」にチェックを入れればOKです。
タスクスケジューラに設定しているファイルパスを確認
タスクスケジューラに設定しているバッチ/スクリプトの場所であるファイルパスが間違っていないか確認してください。
トリガー設定の有効期限などを確認
タスクスケジューラにのタスクにトリガー設定をしている場合で、有効期限を設定している場合は、その有効期限が無効な期間になっていないか確認しましょう。
アイドル状態のみタスクを実行する設定を解除
タスクスケジューラのタスクを実行するコマンドの条件がアイドル状態のみ実行するようになっている場合は解除しておくことをおすすめします。
「最上位の特権で実行する」にチェック
また、タスクスケジューラの管理者権限での実行が必要なコマンド条件になっている場合は「最上位の特権で実行する」にチェックを入れておきましょう。
PowerShellの本体を指定して引数としてスクリプトを設定
タスクスケジューラにPowerShellで作成したスクリプトを登録する場合は、実行するプログラムをPowerShell本体の実行ファイル(下記のもの)にし、その引数に実行したいスクリプトのファイルパスを指定しましょう。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe |
全角カッコや別のカッコで代用
タスクスケジューラに登録したバッチやスクリプトのファイルパスとして半角カッコ"()"が利用されている場合は、全角カッコ"()"や他のカッコで代用してください。
AC電源接続関係の条件設定を外しておく
タスクスケジューラの条件にAC電源接続関係の条件があれば、そちらもはずしておくと特にノートパソコンの場合はタスクスケジューラに登録したタスクの起動に支障が出にくくなります。
最後に
この記事の内容がタスクスケジューラののタスクが実行されない場合に参考となったのであれば幸いです。