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 を指定します。 実行ポリシー設定を表示するには、List パラメーターと共にGet-ExecutionPolicy
コマンドレットを使用します。
例 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:
ExecutionPolicySet-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: | None |
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
はパイプラインからの入力を受け入れない。
出力
このコマンドレットは、Linux および macOS プラットフォームで 常に無制限 を返します。
メモ
実行ポリシーは、PowerShell セキュリティ戦略の一部です。 実行ポリシーによって、PowerShell プロファイルなどの構成ファイルを読み込めるか、スクリプトを実行できるかが決まります。 また、スクリプトを実行する前にデジタル署名する必要があるかどうか。