(Power Shell) 実行ポリシーを変更して、スクリプトを実行できるようにする方法

change-execution-policy

 

Power Shellスクリプトを実行しようとした際、下記のようなエラーが出た

このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\*省略*\test.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。

と書いてある。
解決方法を調べたので、メモ。

 

解決法:実行ポリシーを変更する

結論から言うと、「実行ポリシー」というものを変更する。
実行ポリシーを変更することで、上記エラーを出さず、スクリプトを実行できるようになる

 

【PowerShell】実行ポリシーとは

実行ポリシーとは、スクリプトの実行を許可したり、しなかったりするための設定のこと。
目的として、悪意のあるスクリプトなどを不用意に実行しないためなど、セキュリティ面での目的がある。

power-shell-execution-policy-image

実行ポリシーは、段階が5段階に分けられてあり、
それぞれのレベルで、スクリプトの種類と実行に関しての制約に違いがある。

デフォルトの実行ポリシーは「Restricted」になっている。
Restrictedでは、全てのスクリプトを実行できない設定になっているので、これが原因でスクリプトを実行できない。

スクリプトを実行するためには、もっと制限が緩い実行ポリシーに変更する必要がある。

 

実行ポリシーの一覧

下記が5段階に分けられている、実行ポリシーの一覧

実行ポリシー 内容 ローカル リモート
Restricted  全てのスクリプトを制限。デフォルト値。 × ×
AllSigned  全ての署名付きスクリプトのみ実行可能。
(署名付のみ)

(署名付のみ)
RemoteSigned  ローカルのスクリプトは実行可能。
インターネットからダウンロードした外部のスクリプトは署名が必要。

(署名付のみ)
Unrestricted 全てのスクリプトが制限なし。
ただし、インターネットからダウンロードしたファイルは実行時、確認される。

(確認あり)
Bypass すべてのスクリプトが実行可能(確認なし)。

 

実行ポリシー変更手順

では本題、実行ポリシーの変更手順を確認していく。
手順は下記にようになる

実行ポリシーの変更手順
  1. Power shellを管理者権限で開く
  2. Set-ExecutionPolicyコマンドを打つ
  3. Get-ExecutionPolicyコマンドで、実行ポリシーの変更を確認

 

①Power shellを管理者権限で開く

「スタート → Windows PowerShell(右クリック)→ その他(右クリック)→ 管理者として実行」

 

Set-ExecutionPolicyコマンドを打つ

Set-ExecutionPolicy 指定したい実行ポリシーの形式でコマンド実行。
上記コマンドで、指定した実行ポリシーに変更することができる。

注意点としては、コマンド実行後、「実行ポリシーを変更しますか?」と聞かれるので、Yを入力する。

 

Get-ExecutionPolicyコマンドで、実行ポリシーの変更を確認

実行ポリシー変更後は、変更が反映されているか確認しよう。
Get-ExecutionPolicy
コマンドを打つと、現在の実行ポリシーが確認できる。

 

以上で、スクリプトを実行できるようになっている

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。