IT PR

PowerShell実行時の【スクリプトの実行が無効になっている】エラー

記事内に商品プロモーションを含む場合があります

PowerShell実行時に下記エラーが出る場合、PCのPowerShell実行ポリシーでPowerShell実行が許可されていません。

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

まず、PCの現行のPowerShell実行ポリシーを確認します。すると、高確率でrestrictedと返ってきます。これは、PCでPowerShell実行が許可されていない、という意味です。

Get-ExecutionPolicy

次にSet-ExecutionPolicyでPowerShell実行ポリシーを変更します。
どのポリシーに変更するかは自由ですが、私はRemoteSignedにしました。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

AllSigned すべてのスクリプトと構成ファイルが、ローカル コンピューターで記述されたスクリプトを含め、信頼できる発行元によって署名されている必要があります。
Bypass 何もブロックされず、警告やプロンプトは表示されません。
Default 既定の実行ポリシーを設定します。 Windows クライアントまたは Windows サーバーの場合は RemoteSigned に制限されます。
RemoteSigned インターネットからダウンロードしたすべてのスクリプトと構成ファイルが、信頼できる発行元によって署名されている必要があります。 Windows サーバー コンピューターの既定の実行ポリシー。
Restricted 構成ファイルを読み込んだり、スクリプトを実行したりしません。 Windows クライアント コンピューターの既定の実行ポリシー。
Undefined スコープに対して実行ポリシーが設定されていません。 グループ ポリシーによって設定されていないスコープから、割り当てられた実行ポリシーを削除します。 すべてのスコープの実行ポリシーが未定義の場合、有効な実行ポリシーは Restricted になります。
Unrestricted PowerShell 6.0 以降では、これは Windows 以外のコンピューターの既定の実行ポリシーであり、変更することはできません。 すべての構成ファイルを読み込んで、すべてのスクリプトを実行します。 インターネットからダウンロードされた署名されていないスクリプトを実行すると、実行前にアクセス許可の入力を求められます。

再度PowerShellを実行すると、エラーが出なくなりました。