次の方法で共有


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-ExecutionPolicyList パラメーターを使用して、各スコープの実行ポリシーを表示します。

例 2: 実行ポリシーを設定する

この例では、ローカル コンピューターの実行ポリシーを設定する方法を示します。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List

Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       AllSigned
 LocalMachine    RemoteSigned

コマンドレットは Set-ExecutionPolicyExecutionPolicy パラメーターを使用して RemoteSigned ポリシーを指定します。 Scope パラメーターは、既定のスコープ値 LocalMachine を指定します。 実行ポリシー設定を表示するには、 コマンドレットを Get-ExecutionPolicyList パラメーターと共に使用します。

例 3: 有効な実行ポリシーを取得する

この例では、PowerShell セッションの有効な実行ポリシーを表示する方法を示します。

PS> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       AllSigned
 LocalMachine    RemoteSigned

PS> Get-ExecutionPolicy

AllSigned

コマンドレットは Get-ExecutionPolicyList パラメーターを使用して、各スコープの実行ポリシーを表示します。 コマンドレットは 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-ExecutionPolicyRemoteSigned が現在の PowerShell セッションの有効な実行ポリシーであることを示しています。

Start-ActivityTracker.ps1 スクリプトは、現在のディレクトリから実行されます。 スクリプトがデジタル署名されていないため、 RemoteSigned によってスクリプトがブロックされます。

この例では、スクリプトのコードがレビューされ、安全に実行できるものとして検証されました。 コマンドレットでは Unblock-FilePath パラメーターを使用してスクリプトのブロックを解除します。

実行ポリシーが 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 では、パイプラインからの入力は受け入れられません。

出力

ExecutionPolicy

メモ

実行ポリシーは、PowerShell セキュリティ戦略の一部です。 実行ポリシーは、PowerShell プロファイルなどの構成ファイルを読み込むか、スクリプトを実行できるかを決定します。 また、スクリプトを実行する前にデジタル署名する必要があるかどうか。