【PowerShell】実行ポリシーを設定する方法
スクリプトを実行する際に設定する必要があったので調べた。
Set-ExecutionPolicy
PowerShell上でSet-ExecutionPolicy
コマンドレットを実行することにより、実行ポリシーを設定できる。
Set-ExecutionPolicy ポリシー名 -Scope スコープ名
-Scope
を指定しない場合、LocalMachine
をスコープ名として指定した場合と同じになる。
ポリシー名
ポリシー名には、下記を指定できる。
名前 | 内容 |
---|---|
Restricted | スクリプトは実行できない。( 初期はこれが設定されている ) |
AllSigned | 署名付きのスクリプトのみ実行できる。 |
RemoteSigned | ローカルのスクリプトは実行できる。 ダウンロードしたスクリプトは署名付きであれば実行できる。 |
Unrestricted | すべてのスクリプトを実行できる。 |
スコープ名
スコープ名には、下記を指定できる。
名前 | 内容 |
---|---|
Process | 実行ポリシーは現在のPowerShellのみに影響する。 |
CurrentUser | 実行ポリシーは現在のユーザにのみに影響する。 |
LocalMachine | 実行ポリシーは全てのユーザに影響する。これを指定する場合、管理者権限が必要。 |
コマンドラインオプションで指定
コマンドラインツールからPowerShellを起動する際に、-ExecutionPolicy
を指定すると実行ポリシーを設定できる。
powershell -ExecutionPolicy ポリシー名
この場合、実行ポリシーの設定は起動したPowerShellのみに影響する。