次の方法で共有


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

このコマンドレットにオブジェクトをパイプすることはできません。

出力

ExecutionPolicy

このコマンドレットは、Linux および macOS プラットフォーム 無制限の を常に返します。 Windows プラットフォームでは、現在の実行ポリシーが返されます。

メモ

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