【PowerShell】タスクスケジューラでスクリプト実行しようとしてハマったときの対処法

【PowerShell】タスクスケジューラでスクリプト実行しようとしてハマったときの対処法

はじめに

コジマです。

業務で自動化できそうな作業があったので
Powershellでスクリプト組んでタスクスケジューラで定期的に実行しよう。
と思ったわけです。

普通のWindowsバッチで事足りればいいんですけど。
そうじゃないときはPowerShellが何とかしてくれる。と思いながら自動化に勤しんでおりますw

タスクスケジューラの沼にハマっちゃったんですよね。
タスクスケジューラでスクリプト実行するのは割と一筋縄ではいかないんです。

実際にどうするのか

タスクスケジューラの設定

タスクスケジューラを開きます。

自分の設定したタスクをダブルクリックして[操作]タブを開いて、スクリプト実行する操作を選択して
[編集]ボタンを押してください。

以下の点について確認します。

  • [プログラム/スクリプト]を[C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe]とフルパスにしている
  • [引数の追加]を[-Command “.\実行ファイル.ps1”]としている
  • [開始]をスクリプトの存在するパスを指定している

上記のように設定しないとpowershell動きません。

権限の設定

PowerShellを管理者で実行します。
コンソール画面が起動したら[Get-ExecutionPolicy]を実行してください。
[Restricted]が表示されていたら対応が必要です。

[Set-ExecutionPolicy RemoteSigned]を実行してください。

(※)各種権限の詳細が以下のサイトに記載があります。お好みの権限で設定してください。
ここではRemoteSignedとしました。
https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-6#required-parameters

以上で実行できるようになります。

さいごに

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


PowerShellカテゴリの最新記事