PowerShell 実行ポリシーの変更手順
- 管理者権限でPowerShellを起動
- Get-ExecutionPolicy コマンドレットを実行し、現在の実行ポリシーを確認
Restrictedの場合は次へ - Set-ExecutionPolicy コマンドレットを実行し、任意の実行ポリシーへ変更
例:>Set-ExecutionPolicy Remotesigned - 変更確認が問われます。
変更する場合は、[Enter]ボタン or [Y]ボタンを押す
4つの実行ポリシー
Restricted | .ps1のスクリプトの実行は不可。 基本、対話モードでPowerShellを実行します。 |
AllSigned | 信頼できる発行元が署名したスクリプトのみ実行できます。 |
RemoteSigned | ローカルスクリプトは制限なく実行可能。 ファイルサーバ等に配置したスクリプトファイルを実行するには、AllSigned同様、発行元が署名したスクリプトしていなければなりません。 |
Unrestricted | あらゆるPowerShell スクリプトを実行できます。 |
自己署名証明書の作成は、Visual Studio SDKのmakecertコマンドから行うそうです。
まだ試してませんが、セキュリティレベルを上げるため後日導入したいと思います。
管理者権限でPowerShellを起動するとどうなるか?
管理者権限なしでPowerShellを起動し、Set-ExecutionPolicy 小窓レットを実行するとエラーが表示され、変更が出来ません。Set-ExecutionPolicy : レジストリ キー 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' へのアクセスが拒否されました。
上記レジストリを確認すると、実行ポリシーのデータが格納されていました。
管理者権限で実行する理由はこれなんですね。
Set-ExecutionPolicyを実行する場合は、必ず「管理者権限のPowerShellを起動」する事が大切です。