Get-ExecutionPolicy
現在のセッションの実行ポリシーを取得します。
構文
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
説明
各スコープの実行ポリシーを優先順位の順に表示するには、 を使用 Get-ExecutionPolicy -List
します。 PowerShell セッションの有効な実行ポリシーを確認するには、パラメーターなしで を使用 Get-ExecutionPolicy
します。
有効な実行ポリシーは、 および グループ ポリシー 設定によって設定された実行ポリシーによってSet-ExecutionPolicy
決まります。
詳細については、「about_Execution_Policies」を参照してください。
例
例 1: すべての実行ポリシーを取得する
このコマンドは、各スコープの実行ポリシーを優先順位順に表示します。
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
コマンドレットは Get-ExecutionPolicy
List パラメーターを使用して、各スコープの実行ポリシーを表示します。
例 2: 実行ポリシーを設定する
この例では、ローカル コンピューターの実行ポリシーを設定する方法を示します。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
コマンドレットは Set-ExecutionPolicy
ExecutionPolicy パラメーターを使用して RemoteSigned ポリシーを指定します。 Scope パラメーターは、既定のスコープ値 LocalMachine を指定します。 実行ポリシー設定を表示するには、 コマンドレットを Get-ExecutionPolicy
List パラメーターと共に使用します。
例 3: 有効な実行ポリシーを取得する
この例では、PowerShell セッションの有効な実行ポリシーを表示する方法を示します。
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSigned
コマンドレットは Get-ExecutionPolicy
List パラメーターを使用して、各スコープの実行ポリシーを表示します。 コマンドレットは Get-ExecutionPolicy
パラメーターなしで実行され、有効な実行ポリシー AllSigned が表示されます。
例 4: 実行ポリシーを変更せずにスクリプトのブロックを解除して実行する
この例では、 RemoteSigned 実行ポリシーを使用して、署名されていないスクリプトを実行できないようにする方法を示します。
ベスト プラクティスは、 コマンドレットを使用Unblock-File
する前に、スクリプトのコードを読み取り、安全であることを確認することです。 コマンドレットは Unblock-File
スクリプトのブロックを解除して実行できますが、実行ポリシーは変更しません。
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
.\Start-ActivityTracker.ps1 : File .\Start-ActivityTracker.ps1 cannot be loaded.
The file .\Start-ActivityTracker.ps1 is not digitally signed.
The script will not execute on the system.
For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS> Unblock-File -Path .\Start-ActivityTracker.ps1
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
Task 1:
ではSet-ExecutionPolicy
、ExecutionPolicy パラメーターを使用して RemoteSigned ポリシーを指定します。 ポリシーは、既定のスコープ LocalMachine に設定されます。
コマンドレットは Get-ExecutionPolicy
、 RemoteSigned が現在の PowerShell セッションの有効な実行ポリシーであることを示しています。
Start-ActivityTracker.ps1 スクリプトは、現在のディレクトリから実行されます。 スクリプトがデジタル署名されていないため、 RemoteSigned によってスクリプトがブロックされます。
この例では、スクリプトのコードがレビューされ、安全に実行できるものとして検証されました。 コマンドレットでは Unblock-File
、 Path パラメーターを使用してスクリプトのブロックを解除します。
実行ポリシーが Unblock-File
変更されていないことを確認するために、 Get-ExecutionPolicy
有効な実行ポリシー RemoteSigned が表示されます。
スクリプトStart-ActivityTracker.ps1 は、現在のディレクトリから実行されます。 コマンドレットによってブロックが解除されたため、スクリプトの実行が Unblock-File
開始されます。
パラメーター
-List
セッションのすべての実行ポリシー値を取得し、優先順位順に一覧表示します。 既定では、 Get-ExecutionPolicy
は有効な実行ポリシーのみを取得します。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
実行ポリシーの影響を受けるスコープを指定します。
有効な実行ポリシーは、優先順位によって次のように決定されます。
- MachinePolicy。 コンピューターのすべてのユーザーのグループ ポリシーによって設定されます。
- UserPolicy。 コンピューターの現在のユーザーのグループ ポリシーによって設定されます。
- プロセス。 現在の PowerShell セッションにのみ影響します。
- CurrentUser。 現在のユーザーにのみ影響します。
- LocalMachine。 コンピューターのすべてのユーザーに影響を与える既定のスコープ。
Type: | ExecutionPolicyScope |
Accepted values: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
Position: | 0 |
Default value: | Effective execution policy |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
入力
None
Get-ExecutionPolicy
では、パイプラインからの入力は受け入れられません。
出力
メモ
実行ポリシーは、PowerShell セキュリティ戦略の一部です。 実行ポリシーは、PowerShell プロファイルなどの構成ファイルを読み込むか、スクリプトを実行できるかを決定します。 また、スクリプトを実行する前にデジタル署名する必要があるかどうか。