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:
ExecutionPolicy Set-ExecutionPolicy
パラメーターを使用してポリシーをRemoteSigned
指定します。 ポリシーは既定のスコープ LocalMachine
に設定されます。
コマンドレットは Get-ExecutionPolicy
、現在の PowerShell セッションの有効な実行ポリシーであることを RemoteSigned
示しています。
スクリプトは 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
. グループ ポリシーによってコンピューターの現在のユーザーに対して設定します。Process
. 現在の PowerShell セッションにのみ影響します。LocalMachine
. コンピューターのすべてのユーザーに影響を与える既定のスコープ。CurrentUser
. 現在のユーザーにのみ影響します。
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
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットでは、現在の実行ポリシーが返されます。
メモ
実行ポリシーは、PowerShell セキュリティ戦略の一部です。 実行ポリシーによって、PowerShell プロファイルなどの構成ファイルを読み込めるか、スクリプトを実行できるかが決まります。 また、スクリプトを実行する前にデジタル署名する必要があるかどうか。
関連リンク
PowerShell