Powershell 스크립트(Script) 실행을 위한 준비

Windows Powershell 에서 스크립트를 실행하기 위해서는 ExecutionPolicy를 조절 해 줘야 한다.

그렇다면 Execution Policy는 무엇인가? 말 그대로 Powershell 의 실행 정책인데 이를 조절 하여 스크립트를 실행하는 조건을 정할 수 있다. 이 설정의 기본값이 스크립트를 수행 할 수 없도록 되어 있다.

Execution Policy는 보안과는 조금 다른 개념이다. 자세한 설명은 Powershell 에 내장되어 있으므로 다음 명령으로 조회 해 보자.

Get-Help about_execution_policies



아래는 man about_execution_policies 결과 중 실행 정책 관련 부분 이다.

Windows PowerShell 실행 정책
—————————-

Windows PowerShell 실행 정책은 다음과 같습니다.

기본 정책은 “Restricted”입니다.

Restricted
– 기본 실행 정책입니다.

– 개별 명령을 허용하지만 스크립트를 실행하지 않습니다.

– 서식 지정 및 구성 파일(.ps1xml), 모듈 스크립트 파일(.psm1), Windows
PowerShell 프로필(.ps1) 등의 모든 스크립트 파일을 실행할 수 없습니다.

AllSigned
– 스크립트를 실행할 수 있습니다.

– 로컬 컴퓨터에 작성하는 스크립트를 포함하여 모든 스크립트 및 구성 파일에 신뢰된 게시자가
서명해야 합니다.

– 신뢰된 게시자나 신뢰되지 않은 게시자로 아직 분류하지 않은 게시자의 스크립트를 실행하기 전에
메시지를 표시합니다.

– 인터넷 이외의 다른 소스에서 가져온 서명되지 않은 스크립트를 실행하거나 서명되었지만 악의적인
스크립트를 실행할 위험이 있습니다.

RemoteSigned
– 스크립트를 실행할 수 있습니다.

– 전자 메일과 인스턴트 메시징 프로그램을 포함하여 인터넷에서 다운로드하는 스크립트와 구성
파일에는 신뢰된 게시자의 디지털 서명이 필요합니다.

– 이미 실행한 스크립트와 로컬 컴퓨터에 작성한(인터넷에서 다운로드하지 않음) 스크립트에는
디지털 서명이 필요 없습니다.

– 서명되었지만 악의적인 스크립트를 실행할 위험이 있습니다.

Unrestricted
– 서명되지 않은 스크립트를 실행할 수 있습니다. 이 경우 악의적인 스크립트를 실행할 위험이
있습니다.

– 인터넷에서 다운로드한 스크립트와 구성 파일을 실행하기 전에 사용자에게 경고합니다.

Bypass
– 아무 것도 차단되지 않으며 경고나 메시지가 표시되지 않습니다.

– 이 실행 정책은 Windows PowerShell 스크립트가 대규모 응용 프로그램에 기본 제공되는 구성 또는
고유의 보안 모델을 가진 프로그램이 Windows PowerShell을 기초로 하는 구성을 위해
설계되었습니다.

Undefined
– 현재 범위에 설정된 실행 정책이 없습니다.

– 모든 범위의 실행 정책이 Undefined인 경우 적용되는 실행 정책은 기본 실행 정책인
Restricted입니다.

참고: UNC(범용 명명 규칙) 경로를 인터넷 경로와 구별하지 않는 시스템에서는 UNC 경로로 식별되는
스크립트를 RemoteSigned 실행 정책으로 실행하는 것이 허용되지 않을 수 있습니다.

RemoteSigned 정도가 적당해 보인다. (개인적으로는 unrestricted를 사용)


자신에게 알맞은 Policy를 선택 했으면 Set-ExecutionPolicy 명령으로 설정한다.

Set-ExecutionPolicy RemoteSigned



명령을 수행하면 다음과 같은 질문을 받는데 Y를 입력하여 Confirm 한다.

실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호해 줍니다. 실행 정책을 변경하면 about_Execution_Policies 도움말
항목에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을 변경하시겠습니까?
[Y] 예(Y)  [N] 아니요(N)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "Y"임): Y



혹은 -Force Parameter를 이용하여 질문 없이 수행 할 수 있다.

Set-ExecutionPolicy RemoteSigned -Force


이후부터 Powershell Script를 실행 할 수 있다.

One thought on “Powershell 스크립트(Script) 실행을 위한 준비

  1. 좋은 정리 글 잘 봤습니다. 제 블로그에 원문 출처를 남기고 퍼갑니다. 혹시나 문제가 되면 삭제하겠습니다! 좋은 하루 되세요.

답글 남기기

이메일 주소는 공개되지 않습니다.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.