반응형
파워쉘 스크립트 실행 오류 (PSSecurityException: UnauthorizedAccess)
Windows에서 파워쉘 스크립트를 실행하려고 하면 다음과 같은 오류 메시지가 나타난다.
PS C:\> .\script.ps1
.\script.ps1 : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\script.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about _Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ .\script.ps1
+ ~~~~~~~~~~~~
+ CategoryInfo : 보안 오류: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
스크립트 실행 오류(PSSecurityException: UnauthorizedAccess)가 발생하는 원인과 해결 방법에 대해 알아보자.
728x90
원인과 해결 방법
파워쉘 스크립트 실행 오류가 발생하는 원인은 서명되지 않은 파워쉘 스크립트를 실행하려고 했기 때문이다.
서명되지 않은 파워쉘 스크립트를 실행하려면 실행 규칙 정책을 변경해주면 된다.
실행 규칙 정책 조회
먼저 ExecutionPolicy 명령어로 현재 실행 규칙 정책을 조회해보자.
PS C:\> ExecutionPolicy
Restricted
Restricted(제한됨) 정책으로 확인된다.
실행 규칙 정책 변경
그럼 이제 서명되지 않은 파워쉘 스크립트를 실행하기 위해 실행 규칙을 변경해보자.
파워쉘을 관리자 권한으로 실행해야만 Set-ExecutionPolicy 명령어로 실행 규칙 정책을 변경할 수 있다.
실행 정책 변경 확인 질문에는 '[A] 모두 예(A)'를 선택하자.
PS C:\> Set-ExecutionPolicy RemoteSigned
실행 규칙 변경 실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말 항목(https://go.microsoft.com/fwlink/?LinkID=135170)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을 변경하시겠습니까?
[Y] 예(Y) [A] 모두 예(A) [N] 아니요(N) [L] 모두 아니요(L) [S] 일시 중단(S) [?] 도움말 (기본값은 "N"): A
PS C:\> ExecutionPolicy
RemoteSigned
다시 확인해보면 RemoteSigned 정책으로 확인된다.
이제 스트립트를 정상적으로 실행할 수 있다.
PS C:\> .\script.ps1
Success.
각각의 실행 정책(ExecutionPolicy)이 의미하는 내용은 다음과 같다.
ExecutionPolicy | Description |
AllSigned | Requires that all scripts and configuration files are signed by a trusted publisher, including scripts written on the local computer. |
Bypass | Nothing is blocked and there are no warnings or prompts. |
Default | Sets the default execution policy. Restricted for Windows clients or RemoteSigned for Windows servers. |
RemoteSigned | Requires that all scripts and configuration files downloaded from the Internet are signed by a trusted publisher. The default execution policy for Windows server computers. |
publisher | The default execution policy for Windows server computers. |
Restricted | Doesn't load configuration files or run scripts. The default execution policy Windows client computers. |
Undefined | No execution policy is set for the scope. Removes an assigned execution policy from a scope that is not set by a Group Policy. If the execution policy in all scopes is Undefined, the effective execution policy is Restricted. |
Unrestricted | Beginning in PowerShell 6.0, this is the default execution policy for non-Windows computers and can't be changed. Loads all configuration files and runs all scripts. If you run an unsigned script that was downloaded from the internet, you're prompted for permission before it runs. |
반응형
'Windows' 카테고리의 다른 글
[Windows] 계산기 나누기, 소수점 입력 안 되는 문제 해결 방법 (0) | 2021.01.17 |
---|---|
[Windows] 윈도우 10 자동 업데이트 영구적으로 끄는 방법 (4) | 2020.12.17 |
[Windows] 최신 윈도우 10 설치 iso 파일 다운로드 방법 (0) | 2020.12.06 |
VCRUNTIME140.dll 시스템 오류, 간단하게 해결해보자! (0) | 2020.11.16 |
윈도우 OS 비트(bit) 수 확인하는 방법 (Windows 7/10) (0) | 2020.11.16 |