파워쉘 보안 정책 문제해결

권태형·2023년 3월 30일
0

bnb Back-Server Project

목록 보기
2/31

이번에 nestjs로 백엔드 서버를 구축해보는 경험을 하기위해 npm i -g @nestjs/cli로 nestjs/cli를 설치하고 설치가 잘 되었는지 확인하기 위해 nest --version 으로 버전확인을 해보려고 해도, 프로젝트를 생성하기 위해 nest new nest-first를 입력도 했봤는데 둘다 아래와 같은 에러가 반환되었다.

문제 1.

nest : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\권태형\AppData\Roaming\npm\nest.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1

  • nest --version
  •   + CategoryInfo          : 보안 오류: (:) [], PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess

문제의 원인
위와 같은 에러를 반출하는 이유는 PowerShell의 실행 정책을 따로 한번도 손보지 않아서 기본값인 Restricted로 설정되어 있었기 때문에 스크립트 실행에 보안을 위해 제한이 결려 있었기 때문이다.

해결 방법

PowerShell의 권한 설정을 변경함으로써 사용에 문제가 없게 할 수 있었다.

  1. 먼저 Window검색창에서 PowerShell을 찾아주고 관리자 권한으로 실행해 준다.

  2. 다음 아래의 명령어를 입력해서 현재 PowerShell 정책 상태를 확인한다.

Get-ExecutionPolicy

😪아쉽게도 파워쉘은 마우스 우클릭조차 지원하지 않아서 일일히 타이핑을 쳐야한다. 복붙은 불가능하다.

반환된 값이 Restricted라면, PowerShell의 실행 정책이 스크립트 실행을 허용하지 않도록 설정되어 있다.

  1. 다음 명령어를 실행하여 PowerShell 실행 정책을 RemoteSigned로 변경해야 한다.

Set-ExecutionPolicy RemoteSigned

위 명령어를 실행하면 이 실행 정책 변경이 현재의 Windows PowerShell 정책에 영향을 미칩니다. 계속하시겠습니까?라는 메시지가 나오면 Y를 입력한다.

정책변경이 완료되고 나서 다시 VSCode로 돌아가서 기존의 명령어를 실행해 보자.

정상 동작 하는 것을 확인할 수 있다.

profile
22년 12월 개발을 시작한 신입 개발자 ‘권태형’입니다. 포스팅 하나하나 내가 다시보기 위해 쓰는 것이지만, 다른 분들에게도 도움이 되었으면 좋겠습니다. 💯컬러폰트가 잘 안보이실 경우 🌙다크모드를 이용해주세요.😀 지적과 참견은 언제나 환영합니다. 많은 댓글 부탁드립니다.

0개의 댓글