윈도우11 PowerShell에서 스크립트 실행 정책 변경하는 방법 (Execution Policy)

Windows 11에서 기본적으로 PowerShell을 통해 스크립트를 실행하면 실행 중인 스크립트가 시스템에서 비활성화되어 로드할 수 없다는 오류 메시지와 함께 실패합니다. PowerShell에는 시스템에 악성코드가 실행되지 않도록 스크립트를 실행하는 방법을 제어하는 “실행 정책(Execution Policy)” 보안 기능이 있기 때문입니다.

Windows 11에서 스크립트를 실행해야 하는 경우 로컬 컴퓨터, 현재 사용자 또는 세션에 대한 실행 정책을 변경할 수 있습니다.

로컬 컴퓨터와 현재 사용자에 대한 PowerShell 실행 정책을 설정하면 정보가 레지스트리에 저장되며, 특히 세션에 대한 정책을 구성하면 정책이 메모리에 보관되었다가 세션을 닫으면 자동으로 제거됩니다.

Windows 11 PowerShell Execution Policy 설정 방법

Windows 11 또는 10에서 PowerShell 실행 정책을 변경하려면 다음 단계를 수행합니다.

실행 정책 변경을 위해 터미널(관리자) 실행.

키보드 단축키 Win + X 키를 눌러 빠른 실행 메뉴에서 [터미널(관리자)]를 클릭합니다.

Get-ExecutionPolicy 실행.

다음 명령을 입력하고 Enter 키를 눌러 현재 실행 정책을 확인합니다.

Get-ExecutionPolicy

(Option) 현재 정의된 실행 정책을 자세히 보기 위해서는 다음 명령을 입력하고 Enter 키를 누릅니다.

Get-ExecutionPolicy -List
Execution Policy 변경 명령 실행

다음 명령을 입력하고 Enter 키를 눌러 Windows 11에서 스크립트를 실행할 수 있도록 정책을 변경합니다.

Set-ExecutionPolicy RemoteSigned
Execution Policy 정책 원복.

스크립트 실행 이후 보안을 위해 스크립트가 실행되지 않도록 정책을 변경하고 싶다면 다음 명령을 입력하고 Enter 키를 누릅니다.

Set-ExecutionPolicy Restricted
현재 사용자에 대한 Execution Policy 변경

현재 사용자에 대한 스크립트를 실행하도록 실행 정책을 변경하려면 다음과 같이 범위 옵션을 사용할 수 있습니다.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
로컬 컴퓨터에 대한 Execution Policy 변경.

또는 로컬 컴퓨터에 대한 스크립트를 실행하도록 실행 정책을 변경하는 방법은 다음과 같이 사용할 수 있습니다.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

Windows 11에서는 다음 네 가지 실행 정책 중에서 선택하여 스크립트를 허용하거나 거부할 수 있습니다.

  • Restricted : 모든 스크립트 실행을 차단합니다.
  • RemoteSigned : 로컬 컴퓨터에서 생성된 스크립트 실행은 가능, 다른 장치에서 생성된 스크립트는 신뢰할 수 있는 서명 없이는 실행되지 않습니다.
  • AllSigned : 모든 스크립트를 실행할 수 있습니다. 그러나 신뢰할 수 있는 게시자 서명이 포함된 경우만 가능합니다.
  • Unrestricted : 제한 없이 모든 스크립트 실행이 가능합니다.
Execution Policy 우회 설정 변경.

필요한 매개변수가 없고 출력을 반환하지 않는 스크립트를 실행해야 하는 경우 실행 정책을 변경할 필요 없이, 다음과 같이 사용 제한을 우회하여 실행할 수 있습니다.

PowerShell.exe -File "FILENAME" -ExecutionPolicy Bypass

마치며

블로그를 통해 PowerShell을 이용한 Windows 업데이트, Wi-Fi 자동 실행 등 관련 글에서 실행 정책을 변경하는 방법을 소개하곤 했으나, 보다 자세한 설명을 드리기 위해 이 글을 작성합니다.

Leave a Comment