この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
PowerShellでコマンドを実行したときに「このシステムではスクリプトの実行が無効になっています」とエラーが出てしまったことはありませんか?
これはPowerShellの実行ポリシーで制限された時に出ることが多いエラーとなります。
PoweShellの実行ポリシーとは、PowerShellがコマンドを実行する条件を制御する安全機能です。
この機能は、悪意のあるスクリプトの実行、コマンドの誤操作を防ぐのに役立ちます。
まずは以下コマンドを実行して現在設定されている実行ポリシーを確認しましょう。
Get-ExecutionPolicy
PowerShellの実行ポリシーは以下5つが存在します。
実行ポリシー | 署名付き | 署名なし/ローカル | 署名なし/非ローカル |
---|---|---|---|
Restricted | × | × | × |
AllSigned | ○ | × | × |
RemoteSigned | ○ | ○ | × |
Unrestricted | ○ | ○ | △ |
Bypass | ○ | ○ | ○ |
実行ポリシーを変更するにはSet-ExecutionPolicyコマンドを使用します。
※以下コマンドはRemoteSignedに変更する場合。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
どのポリシーに変更すればいいのか実行するスクリプトと照らし合わせ、
詳細は以下を参照してください。
実行ポリシーについて(Microsoft公式ドキュメント)