PowerShell의 UnauthorizedAccess 오류

0v0baek·2024년 4월 15일
0

TIP

목록 보기
13/15

참고 글
Powershell 실행 정책

vscode에서 명령어를 실행하려고 하는데 cmd의 경우에는 문제가 없다가 Powershell의 경우에 이런 오류가 뜰 때가 있다.

Powershell의 기본 보안 정책이 Restricted로 설정되어 있기 때문이다.

PowerShell의 보안 정책 종류

  • AllSigned
    서명 된 스크립트만 실행 가능

  • Bypass
    영어 뜻 그대로 어떤 것도 차단되지 않고 경고 없이 패스되어 실행 됨 (보안의 위험)

  • Default
    Restricted Windows 클라이언트의 경우 Windows 서버용 RemoteSigned
    -> 라는데 밑에 거랑 비슷한거라고 생각 됨.

  • RemoteSigned
    Windows 서버 컴퓨터에 대한 기본 실행 정책.
    내가 컴퓨터에서 생성한 스크립트 + 서명 된 스크립트만 실행 가능하다.

  • Restricted
    Powershell의 기본 실행 규칙. 아무것도 건드리지 않았다면 이 상태.
    poetry명령어 등 스크립트 실행이 안된다.

  • Unrestricted
    서명되지 않은 모든 스크립트를 실행 시킬 수 있음. (보안의 위험)

기본적으로 default값인 Restricted이외에 사용자가 임의로 보안 정책을 설정했을 경우 발생하는 보안 문제는 전부 사용자 책임이니 잘 생각해서 설정해야 한다.

PowerShell에서 보안 정책 변경

1. 관리자 권한으로 실행

2. 현재 보안 정책 확인

>>>ExecutionPolicy

현재 내 컴퓨터의 보안 정책을 확인할 수 있다.


기본적으로 처음에는 모두 Restricted 상태.

3. 보안 정책 변경

>>>Set-ExecutionPolicy 변경할 정책

이렇게 입력해주면 아래와 같은 경고문이 뜬다.

덜덜...
좀 두렵긴 하지만 설정을 변경하지 않으면 스크립트 파일 자체가 실행이 안되니까 Y를 입력해 변경해주자.

4. 변경된 정책 확인


잘 변경되었다!!

5. vscode의 터미널에서 확인해보기


잘 실행된다!!

profile
개발 공부 하는 비전공자 새내기. 꾸준히 합시다!

0개의 댓글