タスクスケジューラでPowerShellのスクリプトを実行するときの注意点。
ダイアログボックス「操作の編集」で「プログラム/スクリプト」の箇所にスクリプトファイル(○○.ps1)を指定しないこと。指定しても、そのタスク実行時はそのスクリプトファイルがメモ帳で開かれるだけで、スクリプトは実行されない。
実行するためには、タスクスケジューラのプロパティの「操作」タブで、以下のように登録すればよい。以下は、フォルダーC:\Users\userに置かれたスクリプトtest.ps1を実行する例。
・プログラム/スクリプト
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
・引数の追加(オプション)
-Command ".\test.ps1"
・開始(オプション)
C:\Users\user
なお、タスク自体のプロパティのダイアログボックスのタブ「全般」で、「ユーザーがログオンしているかどうかにかかわらず実行する」を選択し、「最上位の特権で実行する」にチェックを付けることを忘れない。
最後に参考。PowerShellのスクリプトはPowerShell自体(powershell.exe)に-Commandオプションを付けて指定することで、そのスクリプト自体を動作させることができる。上記の指定は、このやり方に倣ったものである。
powershell.exe -Command ○○.ps1