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

このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\*省略*\test.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
と書いてある。
解決方法を調べたので、メモ。
Contents
解決法:実行ポリシーを変更する
結論から言うと、「実行ポリシー」というものを変更する。
実行ポリシーを変更することで、上記エラーを出さず、スクリプトを実行できるようになる
【PowerShell】実行ポリシーとは
実行ポリシーとは、スクリプトの実行を許可したり、しなかったりするための設定のこと。
目的として、悪意のあるスクリプトなどを不用意に実行しないためなど、セキュリティ面での目的がある。

実行ポリシーは、段階が5段階に分けられてあり、
それぞれのレベルで、スクリプトの種類と実行に関しての制約に違いがある。
デフォルトの実行ポリシーは「Restricted」になっている。
Restrictedでは、全てのスクリプトを実行できない設定になっているので、これが原因でスクリプトを実行できない。
スクリプトを実行するためには、もっと制限が緩い実行ポリシーに変更する必要がある。
実行ポリシーの一覧
下記が5段階に分けられている、実行ポリシーの一覧。
実行ポリシー | 内容 | ローカル | リモート |
---|---|---|---|
Restricted | 全てのスクリプトを制限。デフォルト値。 | × | × |
AllSigned | 全ての署名付きスクリプトのみ実行可能。 | △ (署名付のみ) |
△ (署名付のみ) |
RemoteSigned | ローカルのスクリプトは実行可能。 インターネットからダウンロードした外部のスクリプトは署名が必要。 |
○ | △ (署名付のみ) |
Unrestricted | 全てのスクリプトが制限なし。 ただし、インターネットからダウンロードしたファイルは実行時、確認される。 |
○ | ○ (確認あり) |
Bypass | すべてのスクリプトが実行可能(確認なし)。 | ○ | ○ |
実行ポリシー変更手順
では本題、実行ポリシーの変更手順を確認していく。
手順は下記にようになる
- Power shellを管理者権限で開く
- Set-ExecutionPolicyコマンドを打つ
- Get-ExecutionPolicyコマンドで、実行ポリシーの変更を確認
①Power shellを管理者権限で開く
「スタート → Windows PowerShell(右クリック)→ その他(右クリック)→ 管理者として実行」

Set-ExecutionPolicyコマンドを打つ
「Set-ExecutionPolicy 指定したい実行ポリシー」の形式でコマンド実行。
上記コマンドで、指定した実行ポリシーに変更することができる。
注意点としては、コマンド実行後、「実行ポリシーを変更しますか?」と聞かれるので、Yを入力する。

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

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