タスクスケジューラーを使ってPowershellをサイレント実行する

コンソールウィンドウを一瞬も出さずにPowershellを実行したいとき、今まではvbs経由で実行する方法を採用していました。しかしながらvbsも非推奨機能となってしまったので、もう少し長い目で見て使えそうな方法を調べていたところ、タスクスケジューラ―が使えそうなことがわかりました。

タスクスケジューラ―を使う方法

タスクスケジューラ―でPowershellスクリプトをサイレント実行する場合、まず全般タブのセキュリティオプションで”ユーザーがログオンしているかどうかにかかわらず実行する”を選択しておきます。

トリガーについては任意で設定します。今回私がサイレント実行したかったのは常駐型のスクリプトだったので、PCのスタートアップ時に実行させることにしました。

操作の部分で実行したいスクリプトを設定します。プログラム/スクリプトの欄は”powershell.exe”でOKです。引数の追加の部分でPowershellスクリプトを指定します。例えば、”-ExecutionPolicy Bypass -File “C:\hogehoge\Script.ps1″”などとしておきます。スクリプトの場所を指定すると同時に、実行ポリシーも設定しておくのがポイントになります。

これで存在感を出すことなくPowershellスクリプトが実行できます。定時でバックアップ用のスクリプトを実行したり、特定のフォルダの清掃をしたりとサイレント実行が使えるといろいろとアイデアが広がります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

スパム対策のため、日本語が含まれないコメントは投稿できません。