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

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

 

 

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

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

上記のようなエラーが書いてある。

調べると、
スクリプトの実行ポリシーと言うものを変更することで解決できたので、調べたことをメモ。

 

解決法:Poweshellスクリプトの「実行ポリシー」を変更する




PowerShellのスクリプト実行に起きる上記のエラーを解決する方法は、
結論から言うと、「実行ポリシー」というものを変更することで解決することが可能だ。

実行ポリシーを変更することで、上記エラーを出さず、スクリプトを実行できるようになる

 

【PowerShell】実行ポリシーとは

PowerShellの実行ポリシーとは、
スクリプトの実行を許可したり、しなかったりするための設定のことだ。

なぜこのような設定があるかと浮いと、
悪意のあるスクリプトなどを不用意に実行しないためなど、セキュリティ面での目的がある。

powershellの実行ポリシーのイメージ

 

PowerShellの実行ポリシーは5段階に分けられる

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

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

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

 

 

PowerShell 実行ポリシーの一覧

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

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

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

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

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

 

 

 

実行ポリシー変更手順

では本題、
PowerShell 実行ポリシーの変更手順を確認していく。

実行ポリシーの変更手順は下記にようになる

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

 

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

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

powershellの実行ポリシーの変更手順の画像1

 

Set-ExecutionPolicyコマンドを打つ

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

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

powershellの実行ポリシーの変更手順の画像2

 

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

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

powershellの実行ポリシーの変更手順の画像3

 

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

 

 

関連記事

Power Shell ISE のデバッグ方法と、その時の注意点
Power Shellとは【コマンドプロントとの違い・起動方法など】

 

https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2

 

https://qiita.com/earthdiver1/items/b3f529c81f5892972a72

 

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

コメントを残す

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