Powershell은 Microsoft에서 개발 및 게시한 작업 자동화 및 관리 프레임워크입니다. 명령줄 셸과 관련 언어로 구성됩니다. 사용자는 프로그램에서 수많은 cmdlet을 실행할 수 있습니다. 그러나 최근에는 사용자가 스크립트를 실행할 수 없고 "이 시스템에서 실행 중인 스크립트가 비활성화됨이라는 보고가 많이 들어오고 있습니다. " 또는 "이 시스템에서는 스크립트 실행이 비활성화되어 있습니다. "오류가 Powershell에 표시됩니다.
이 기사에서는 이 오류가 발생하는 이유와 영구적으로 수정할 수 있는 몇 가지 실행 가능한 솔루션에 대해 설명합니다. 충돌을 피하기 위해 단계를 신중하고 정확하게 따르십시오.
"이 시스템에서 스크립트 실행이 비활성화되었습니다" 오류의 원인은 무엇입니까?
여러 사용자로부터 수많은 제보를 받은 후 해당 문제를 조사하기로 결정했으며 조사 결과 다음과 같은 문제로 인해 오류가 발생한 것으로 나타났습니다.
- 비활성화된 스크립트: Powershell에서 실행하는 모든 스크립트가 작동하려면 신뢰할 수 있는 소스에서 일정 수준의 검증을 받아야 합니다. 그러나 어떤 경우에는 스크립트에 검증이 있더라도 제한된 액세스로 인해 여전히 실행이 중지됩니다. 문제는 Windows에는 스크립트가 실행되기 위해 우회해야 하는 "실행 정책"이 있다는 것입니다. 실행 정책이 "제한됨"으로 설정되어 있으면 컴퓨터에서 스크립트를 실행할 수 없습니다.
이제 문제의 본질에 대한 기본적인 이해를 하였으므로 해결 방법으로 넘어갈 것입니다.
해결책 1:코드 추가
실행 정책을 변경하는 번거로움 없이 컴퓨터에서 특정 스크립트를 실행하려면 정책을 통해 스크립트 액세스 권한을 부여하는 코드를 명령에 항상 추가할 수 있습니다. 이를 위해:
- “Windows를 누릅니다. ” + “R "를 눌러 실행 프롬프트를 엽니다.
- “Powershell 입력 "를 누르고 "Shift ” + “Ctrl ” + “입력 " 동시에 관리 액세스 권한을 부여합니다.
- 다음 명령과 같이 특정 스크립트를 실행하는 명령을 입력합니다.
c:\> powershell -ExecutionPolicy ByPass -File script.ps1
- “Enter 키를 누릅니다. " 및 확인 문제가 지속되는지 확인합니다.
해결책 2:실행 정책 변경
실행 정책은 특정 스크립트를 실행하기 위해 Powershell에 대한 액세스를 제공하므로 제한됨으로 설정되면 모든 스크립트가 실행되지 않도록 차단합니다. 상황에 따라 정책을 설정할 수 있는 다양한 모드가 있습니다. 해당 모드는 다음과 같습니다.
- 제한됨: 이 모드에서는 컴퓨터에서 스크립트를 실행할 수 없습니다.
- AllSigned: 이 모드를 선택하면 신뢰할 수 있는 게시자가 서명한 정책만 컴퓨터에서 실행할 수 있습니다.
- 원격 서명: 다운로드한 모든 스크립트는 신뢰할 수 있는 게시자의 서명을 받아야 합니다.
- 무제한: 스크립트에는 전혀 제한이 없습니다.
이제 실행 정책을 설정할 수 있는 수준을 알았으므로 요구 사항에 따라 가장 적합한 수준을 쉽게 선택할 수 있습니다. 실행 정책을 변경하려면:
- “Windows를 누릅니다. ” + “R "를 눌러 실행 프롬프트를 엽니다.
- 'Powershell'을 입력하고 'Shift를 누릅니다. ” + “Ctrl ” + “입력 " 동시에 관리 액세스 권한을 부여합니다.
- 다음 명령을 입력하고 "Enter" 키를 눌러 실행합니다.
Set-ExecutionPolicy Remotesigned
참고: "RemoteSigned라는 단어 "는 위에 표시된 대로 원하는 보안 수준으로 대체됩니다.
- “Y 누르기 "를 눌러 예를 나타내면 그룹 정책이 원하는 수준으로 변경됩니다.
- 확인 문제가 지속되는지 확인합니다.