Get-ExecutionPolicy

현재 세션에 대한 실행 정책을 가져옵니다.

Syntax

Get-ExecutionPolicy
   [[-Scope] <ExecutionPolicyScope>]
   [-List]
   [<CommonParameters>]

Description

각 범위에 대한 실행 정책을 우선 순위 순서대로 표시하려면 .를 사용합니다 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

cmdlet은 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

cmdlet은 Set-ExecutionPolicy ExecutionPolicy 매개 변수를 사용하여 정책을 지정합니다RemoteSigned. Scope 매개 변수는 기본 범위 값을 LocalMachine지정합니다. 실행 정책 설정을 보려면 List 매개 변수와 함께 cmdlet을 사용합니다Get-ExecutionPolicy.

예제 3: 유효 실행 정책 가져오기

이 예제에서는 PowerShell 세션에 대한 유효 실행 정책을 표시하는 방법을 보여 줍니다.

PS> Get-ExecutionPolicy -List

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

PS> Get-ExecutionPolicy

AllSigned

cmdlet은 Get-ExecutionPolicy List 매개 변수를 사용하여 각 범위의 실행 정책을 표시합니다. Get-ExecutionPolicy cmdlet은 유효한 실행 정책을 AllSigned표시하는 매개 변수 없이 실행됩니다.

예제 4: 실행 정책을 변경하지 않고 스크립트를 실행하도록 차단 해제

이 예제에서는 실행 정책이 서명되지 않은 스크립트를 실행하지 못하게 하는 방법을 RemoteSigned 보여 줍니다.

모범 사례는 스크립트의 코드를 읽고 cmdlet을 사용하기 Unblock-File 전에 안전한지 확인하는 것입니다. cmdlet은 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대한 정책이 설정됩니다.

cmdlet은 Get-ExecutionPolicy 현재 PowerShell 세션에 대한 유효 실행 정책임을 RemoteSigned 보여 줍니다.

스크립트 Start-ActivityTracker.ps1 는 현재 디렉터리에서 실행됩니다. 스크립트가 디지털 서명되지 RemoteSigned 않았기 때문에 스크립트가 차단됩니다.

이 예제에서는 스크립트의 코드를 검토하고 실행하기에 안전한 것으로 확인되었습니다. cmdlet은 Unblock-File Path 매개 변수를 사용하여 스크립트 차단을 해제합니다.

실행 정책을 Get-ExecutionPolicy 변경하지 않았는지 확인 Unblock-File 하려면 유효한 실행 정책을 RemoteSigned표시합니다.

스크립트 Start-ActivityTracker.ps1 는 현재 디렉터리에서 실행됩니다. 스크립트가 cmdlet에 의해 차단 해제되었기 때문에 실행되기 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

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

ExecutionPolicy

cmdlet은 항상 Linux 및 macOS 플랫폼에서 무제한을 반환합니다. Windows 플랫폼에서는 현재 실행 정책을 반환합니다.

참고

실행 정책은 PowerShell 보안 전략의 일부입니다. 실행 정책은 PowerShell 프로필과 같은 구성 파일을 로드하거나 스크립트를 실행할 수 있는지 여부를 결정합니다. 또한 스크립트를 실행하기 전에 디지털 서명해야 하는지 여부도 결정됩니다.