Information*/알면도움됨

powershell 스크립트 실행하기 (feat. Execution Policy)

ch4rli3kop 2018. 1. 13. 22:11
반응형

PowerShell Script를 실행하려 할 경우, 보통 다음과 같은 실행 정책 보안오류가 뜹니다.

이는 실행 정책이 어떻게 설정되어 있는지에 따라 발생하는 오류입니다.

우선, 저의 PowerShell 실행 정책 설정을 확인해 봅시다. 명령 창에서 Get-ExecutionPolicy 로 확인할 수 있습니다.

Restricted 로 되어 있습니다. Restricted 설정 하에서는 Script 를 실행할 수 없습니다. 설정에 대한 설명은 다음과 같습니다. 

Get-Help execution_policies 명령어로 자세한 설명을 알아 볼 수 있습니다. 

Restricted : 스크립트를 실행 할 수 없습니다.

AllSigned : 신뢰된 게시자의 디지털 서명을 받은 스크립트만 실행할 수 있습니다.

RemoteSigned : 인터넷에서 다운로드하는 스크립트와 구성 파일에는 디지털 서명이 필요합니다. 로컬에서 작성된 스크립트는 실행할 수 있습니다.

Unrestricted : 서명되지 않은 스크립트를 실행할 수 있습니다. 인터넷에서 다운로드한 파일에 대해서는 경고를 해줍니다.

Bypass : 모든 스크립트나 구성 파일을 실행할 수 있습니다. 경고나 메세지를 표시하지 않습니다.

Undefined : 실행 정책이 설정되지 않았을 경우입니다. 기본 실행 정책은 Restricted 입니다.


파일의 디지털 서명을 확인할 수 있는 파워쉘 명령어는 Get-AuthenticodeSignature 입니다. 사용 방법은 다음과 같습니다.  

파일의 위치에 대한 옵션을 주고 해당 파일의 경로를 적어주시면 됩니다. 더 많은 정보는 get-help 명령어로 알아 볼 수 있습니다.

Get-Help Get-AuthenticodeSignature -full


결론적으로 파워쉘 스크립트를 실행하기 위해서는 실행 정책을 바꿔주거나 파일에 디지털 서명을 추가해야 합니다. 이 글에서는 파워쉘의 실행 정책을 바꿔주어 스크립트를 실행하는 방법에대해서 서술하겠습니다.

파워쉘의 실행 정책을 바꿔주는 방법은 간단합니다. 다음 예시와 같이 Set-ExecutionPolicy 명령어로 실행 정책을 바꿔주시면 됩니다.

실행 정책을 바꿔준 뒤, 정상적으로 스크립트를 사용할 수 있는 것을 확인할 수 있습니다. :D


반응형