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を実行すると、エラーが出なくなりました。