次の方法で共有


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
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Scope

実行ポリシーの影響を受けるスコープを指定します。

有効な実行ポリシーは、次のように優先順位によって決定されます。

  • MachinePolicy です。 コンピューターのすべてのユーザーのグループ ポリシーによって設定されます。
  • UserPolicy です。 コンピューターの現在のユーザーのグループ ポリシーによって設定されます。
  • プロセス。 現在の PowerShell セッションにのみ影響します。
  • CurrentUser です。 現在のユーザーにのみ影響します。
  • LocalMachine です。 コンピューターのすべてのユーザーに影響を与える既定のスコープ。
型:ExecutionPolicyScope
指定可能な値:CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
配置:0
規定値:Effective execution policy
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

入力

None

Get-ExecutionPolicy では、パイプラインからの入力は受け入れられません。

出力

ExecutionPolicy

メモ

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