Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【PowerShell】タスクスケジューラでスクリプトファイルを実行する

タスクスケジューラで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

【改訂新版】 Windows PowerShell ポケットリファレンス Windows PowerShellクックブック WINDOWS POWERSHELL 実践システム管理ガイド (マイクロソフト公式解説書―マイクロソフトITプロフェッショナルシリーズ) Windows PowerShell イン アクション [イン アクションシリーズ]