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
パラメーターと共に コマンドレットを使用します。
例 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
は有効な実行ポリシーのみを取得します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Scope
実行ポリシーの影響を受けるスコープを指定します。
有効な実行ポリシーは、次のように優先順位によって決定されます。
-
MachinePolicy
. コンピューターのすべてのユーザーのグループ ポリシーによって設定されます。 -
UserPolicy
. コンピューターの現在のユーザーのグループ ポリシーによって設定されます。 -
Process
. 現在の PowerShell セッションにのみ影響します。 -
LocalMachine
. コンピューターのすべてのユーザーに影響を与える既定のスコープ。 -
CurrentUser
. 現在のユーザーにのみ影響します。
型: | ExecutionPolicyScope |
指定可能な値: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
配置: | 0 |
規定値: | Effective execution policy |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、Linux および macOS プラットフォーム 無制限の を常に返します。 Windows プラットフォームでは、現在の実行ポリシーが返されます。
メモ
実行ポリシーは、PowerShell セキュリティ戦略の一部です。 実行ポリシーによって、PowerShell プロファイルなどの構成ファイルを読み込めるか、スクリプトを実行できるかが決まります。 また、スクリプトを実行する前にデジタル署名する必要があるかどうか。
関連リンク
PowerShell