2010. 12. 15. 11:51

PowerShell 인증 (Execution_Policy)


 PowerShell 의 스크립트를 실행할경우 실행되지 않을때 대부분 실행정책이(Execution_policy)로 인하여 정상적인 실행이 되지 않습니다.

 해당 문제 해결을 위해서는 다음과 같은 방법을 사용할 수 있습니다.
Get-ExecutionPolicy 는 현재 인증방식을 나타내 줍니다. Get-ExecutionPolicy 의 컨트롤이 없었으면 기본 상태인 Restrcted 로 되어 있습니다.

간단히
Set-ExecutionPolicy RemoteSigned 입력하여 변경합니다.



* 아래 내용은
Get-Help Get-ExecutionPolicy -full    의 내용입니다.

이름
   Get-ExecutionPolicy

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

구문
   Get-ExecutionPolicy [[-Scope] {Process | CurrentUser | LocalMachine | UserPolicy | MachinePolicy}] [-List] [<Common
   Parameters>]


설명
   Get-ExecutionPolicy cmdlet은 현재 세션에 대한 실행 정책을 가져옵니다.

   실행 정책은 Set-ExecutionPolicy를 사용하여 설정한 실행 정책 및 Windows PowerShell 실행 정책에 대한 그룹 정책 설정에
    따라 결정됩니다. 기본값은 "Restricted"입니다.

   매개 변수가 없을 경우 Get-ExecutionPolicy는 세션에서 적용되는 실행 정책을 가져옵니다. List 매개 변수를 사용하여 세
   션에 영향을 주는 모든 실행 정책을 가져오거나 Scope 매개 변수를 사용하여 특정 범위에 대한 실행 정책을 가져올 수 있습
   니다.

   자세한 내용은 about_Execution_Policies를 참조하십시오.


매개 변수
   -List [<SwitchParameter>]
       우선 순위대로 나열된, 세션에 대한 모든 실행 정책 값을 가져옵니다.  기본적으로 Get-ExecutionPolicy는 유효한 실행
        정책만 가져옵니다.

       필수 여부                        false
       위치                           named
       기본값                False
       파이프라인 입력 적용 여부               false
       와일드카드 문자 적용 여부               false

   -Scope <ExecutionPolicyScope>
       지정된 범위의 실행 정책을 가져옵니다.  기본적으로 Get-ExecutionPolicy는 현재 세션에 유효한 실행 정책을 가져옵니
       다.

       유효한 값은 다음과 같습니다.

       -- MachinePolicy: 컴퓨터의 모든 사용자에 대해 그룹 정책으로 설정된 실행 정책입니다.
       -- UserPolicy: 컴퓨터의 현재 사용자에 대해 그룹 정책으로 설정된 실행 정책입니다.
       -- Process: 현재 Windows PowerShell 프로세스에 대해 설정된 실행 정책입니다.
       -- CurrentUser: 현재 사용자에 대해 설정된 실행 정책입니다.
       -- LocalMachine: 컴퓨터의 모든 사용자에 대해 설정된 실행 정책입니다.

       필수 여부                        false
       위치                           1
       기본값                유효한 실행 정책
       파이프라인 입력 적용 여부               true (ByPropertyName)
       와일드카드 문자 적용 여부               false

   <CommonParameters>
       이 cmdlet은 Verbose, Debug, ErrorAction, ErrorVariable,
       WarningAction, WarningVariable, OutBuffer, OutVariable과
       같은 일반 매개 변수를 지원합니다. 자세한 내용을 보려면
        "get-help about_commonparameters"를 입력하십시오.

입력
   없음
       입력을 이 cmdlet으로 파이프할 수 없습니다.


출력
   Microsoft.PowerShell.ExecutionPolicy
       Get-ExecutionPolicy는 가져오는 각 실행 정책에 대한 개체를 반환합니다.


참고


       Get-ExecutionPolicy를 사용하여 특정 범위에 대한 특정 실행 정책 집합을 가져오거나 그룹 정책을 통해 설정한 실행
       정책을 가져올 수는 없습니다. Get-ExecutionPolicy는 우선 순위 규칙을 모두 적용한 결과 생성되는 유효한 실행 정책
       만 가져옵니다.

       실행 정책은 Windows PowerShell 보안 전략의 일부입니다. 실행 정책에서는 구성 파일(Windows PowerShell 사용자 프로
       필 포함)을 로드하고 스크립트를 실행할 수 있는지 여부 및 실행하기 전에 디지털 서명해야 하는 스크립트(있을 경우)
       를 결정합니다.

       유효 실행 정책은 Set-ExecutionPolicy를 사용하여 설정한 정책 및 컴퓨터와 사용자에 대한 "스크립트 실행 설정" 그룹
        정책에 따라 결정됩니다. 우선 순위는 컴퓨터 그룹 정책 > 사용자 그룹 정책 > 프로세스(세션) 실행 정책 > 사용자 실
       행 정책 > 컴퓨터 실행 정책순입니다.

       Windows PowerShell 정책 정의를 포함하여 Windows PowerShell 실행 정책에 대한 자세한 내용은 about_Execution_Polic
       ies를 참조하십시오.


   -------------------------- 예제 1 --------------------------

   C:\PS>get-executionpolicy

   Restricted


   설명
   -----------
   이 명령은 셸에 대한 현재 실행 정책을 가져옵니다.

 

 

   -------------------------- 예제 2 --------------------------

   C:\PS>set-executionpolicy RemoteSigned; get-executionPolicy

   RemoteSigned


   설명
   -----------
   이들 명령은 셸 실행 정책에 대한 새 사용자 기본 설정을 지정한 다음 유효 실행 정책을 표시합니다. 세미콜론(;)으로 명령
   을 구분합니다. 이 예에서는 그룹 정책 설정이 없으므로 사용자 기본 설정이 셸의 유효 정책입니다.

 

 

   -------------------------- 예제 3 --------------------------

   C:\PS>get-executionpolicy -list

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

   C:\PS> get-executionpolicy
   AllSigned


   설명
   -----------
   이들 명령은 현재 세션의 모든 실행 정책과 유효 실행 정책을 가져옵니다.

   첫 번째 명령은 현재 세션에 영향을 주는 모든 실행 정책을 가져옵니다. 정책은 우선 순위대로 나열됩니다.

   두 번째 명령은 CurrentUser 범위에 설정된 실행 정책인 유효한 실행 정책만 가져옵니다.

 

 


관련 링크
   Online version: http://go.microsoft.com/fwlink/?LinkID=113315
   Set-ExecutionPolicy
   Get-AuthenticodeSignature
   Set-AuthenticodeSignature
   about_Execution_Policies
   about_Signing