【PowerShell】実行ポリシーを設定する方法

2018年8月7日

スクリプトを実行する際に設定する必要があったので調べた。

Set-ExecutionPolicy

PowerShell上でSet-ExecutionPolicyコマンドレットを実行することにより、実行ポリシーを設定できる。

Set-ExecutionPolicy ポリシー名 -Scope スコープ名

-Scopeを指定しない場合、LocalMachineをスコープ名として指定した場合と同じになる。

ポリシー名

ポリシー名には、下記を指定できる。

名前内容
Restrictedスクリプトは実行できない。( 初期はこれが設定されている )
AllSigned署名付きのスクリプトのみ実行できる。
RemoteSignedローカルのスクリプトは実行できる。
ダウンロードしたスクリプトは署名付きであれば実行できる。
Unrestrictedすべてのスクリプトを実行できる。

スコープ名

スコープ名には、下記を指定できる。

名前内容
Process実行ポリシーは現在のPowerShellのみに影響する。
CurrentUser実行ポリシーは現在のユーザにのみに影響する。
LocalMachine実行ポリシーは全てのユーザに影響する。これを指定する場合、管理者権限が必要。

コマンドラインオプションで指定

コマンドラインツールからPowerShellを起動する際に、-ExecutionPolicyを指定すると実行ポリシーを設定できる。

powershell -ExecutionPolicy ポリシー名

この場合、実行ポリシーの設定は起動したPowerShellのみに影響する。

参考ページ