잡담
wsl을 사용하면서 powershell을 쓸 일이 많이 줄었지만...
그래도 간간히 필요하고, 아예 손을 놔버리면 그나마 익숙치 않은데 더 안 좋아지는 터라...
노트북의 powershell을 업데이트했다.
주의할 점은
PowerShell 5.1은 OS 구성요소라
업데이트 대상이 아니며 (for legacy scripts),
최신 환경을 원하면
PowerShell 7.x를 별도로 설치해 병행 사용해야 한다.
PowerShell 5.1은
Windows PowerShell이라고 불리며
기능적으로 동결된 최종버전으로
보안패치 나 안정성 관련 수정만 허용됨.
사실상 버전 차이만 있는게 아니라 공식 명칭도 다르긴 하다:
- 5.1.x :
- Windows PowerShell (OS의 구성요소인 점을 강조)
- powershell.exe 가 실행파일임.
- 6+ :
- PowerShell (현재는 7.x)
- pwsh 가 실행파일임 (linux, macOS도 지원하므로 파일 이름만 기재함. Windows에선 .exe 확장자)
보통은 Microsoft Store를 이용하는데, 최근에 7.3.5로 업데이트가 되어서 7.3.4가 아직 Microsoft Store에 있는터라...
그냥 msi로 받아서 설치했다.
다음 사이트에서 v7.3.5 (2023.06.28 현재 최신버전)를 구할 수 있다.
https://github.com/PowerShell/PowerShell/releases/tag/v7.3.5
Release v7.3.5 Release of PowerShell · PowerShell/PowerShell
7.3.5 - 2023-06-27 Build and Packaging Improvements Bump to use .NET 7.0.305 Update the ThirdPartyNotice (Internal 26372) Add PoolNames variable group to compliance pipeline (#19408) Update cgm...
github.com
현재 젤 편한 방식은 가장 편한 건 winget이다.
Windows에 PowerShell 설치 - PowerShell
Windows에 PowerShell을 설치하는 방법
learn.microsoft.com
좀더 자세한 내용들은 다음 사이트를 참고하라 (공식사이트 들은 항상 뭔가 눈에 확 안들어온다.).
Windows PowerShell 설치 - PowerShell
이 문서에서는 다양한 Windows 버전에 Windows PowerShell을 설치하는 방법을 설명합니다.
learn.microsoft.com
기존 Power Shell: 5.x
기존에 windows도 powershell을 가지고 있지만... 무지 낮은 버전이다.
(호환성 때문에 어쩔 수 없이 5.x가 설치되어 있음)

메시지에서도 새로운 기능을 위해선 최신 PowerShell을 설치하라고 애기한다. (사실 안 올리고 사용하는 경우도 많다.)
host 명령어로 version이 확인 가능함 : 5.1대가 설치되어 있음.
Windows에서 기본 제공하는 버전이 5.1인 이유.
PS 5.x 와 PS 7.x는 이름은 같으나 실제로는 별개의 제품으로 취급된다.
이유는 다음과 같은:
- 기반 Framework가 아예 다름:
- PS 5.x 는 구형 .NET Framework 기반으로 Windows OS에 통합됨.
- PS 7.x 는 최신 .NET Core 기반이며, Cross Platform(macOS, Linux)도 지원.
- 기존 스크립트들과 의 호환성 유지: PS 5.x는 Legacy로 반드시 필요.
위의 이유로 배포 정책(Deployment Policy)이 다름
- PS 5.x 는 Windows 의 구성요소로서 함께 배포됨.
- PS 7.x 는 Application으로서 사용자가 직접 설치하는 방식으로 배포됨.
PowerShell 이란?
- 마이크로소프트에서 개발한 강력한 작업 자동화 및 구성 관리 프레임워크로 동작하는 Shell임.
- PowerShell은 객체 기반의 현대적인 terminal shell로, 윈도우 시스템 관리뿐만 아니라 클라우드와 인프라 자동화에 널리 쓰이는 강력한 도구
다음과 같은 특징을 가짐:
- 객체 지향 셸 (Object-Oriented Shell)
- 기존의 Bash나 CMD가 텍스트(string)를 주고받는 방식인 것과 달리,
- PowerShell은 객체(Object)를 주고받는 방식임.
- 따라서 복잡한 텍스트 파싱 과정 없이 데이터의 속성을 즉시 사용할 수 있음.
- stdin으로 텍스트 입력을 받아 처리하고 출력 텍스트를 stdout으로 보내는 command와 달리
- cmdlet이라고 불리는 .NET 객체들을 런타임에 로드하여 명령어처럼 사용함.
- cmdlet = command + -let = 명령어처럼 사용자에게 보이는(command) 작고, 조합 가능한 구성요소(-let)
- 동사-명사 명령어 구조 (Verb-Noun Structure)
- 명령어(Cmdlet)가 Get-Process, Stop-Service 와 같이 '동사-명사' 형태로 되어 있음.
- 매우 직관적인 구조라고 MS사는 강조함 (개인차는 있음. bash에 길들여진 이들 입장에선 ...)
- Cross-Platform
- 과거에는 윈도우 전용이었으나,
- 현재는 .NET 기반의 오픈 소스로 개발되어 Linux와 macOS에서도 사용할 수 있음.
- 현실적으로 Linux 서버에선 bash가 개인용 Linux나 macOS에선 zsh등이 주류이며 PowerShell은 여전히 윈도우에서 주로 쓰임.
- 단, Azure 의 인기에 힘입어 사용자가 늘어나는 추세.
- 강력한 스크립팅 (Powerful Scripting)
- 단순한 명령어 실행을 넘어 복잡한 로직을 가진 스크립트(.ps1)를 작성이 가능함.
- Windows 시스템 관리자들에겐 필수적임.
Microsoft Store에서 설치하기
일반적으로는 Microsoft Store로 가서 powershell로 검색하여 설치하는 방법이 가장 쉽다 (권장!).

Get을 클릭하면 설치가 시작된다.

설치가 끝나면 Open 으로 바뀐다. 이를 클릭하면 설치된 Power Shell을 사용할 수 있다.

2023.06.28 현재 설치하고 나서 본 화면... ==;; 새 버전이 나왔다고 메시지가 떠있다. ㅋ
(저거 없애려고 했는데... ㅠㅠ)
그래서 7.3.5로 다시 설치.
주의할 건, (아래에 설명된) msi로 설치시 Microsoft Store로 설치한 버전에 업데이트가 이루어지지 않고 새 버전이 따로 설치된다.
굳이 두 버전이 있을 이유가 없는터라.. 7.3.4를 제거했다. (앱> 설치된 앱 에서 PowerShell로 지우면 된다.)
일반적으로는 Microsoft Store가 조금 늦긴 해도 결국 업데이트가 된다. 때문에 버티기를 시전해도 큰 문제 없다.
MSI로 설치하기
관련링크 (7.3.5 용 url이므로 최신버전으로 바꿔어 받는 걸 권함) https://github.com/PowerShell/PowerShell/releases/tag/v7.3.5

win-x86.msi로 끝나는 것을 받으면 32bit 기반이다. 꼭 win-x64.msi로 다운로드한다.
다운로드한 msi 파일을 실행하면 다음과 같이 설치화면이 뜬다. (이후로는 기본 선택을 그대로 두고 next해도 됨)

설치가 끝나면 다음의 창이 보임.

Finish를 눌러주고 실행하면 다음과 같은 창을 보여줌.

현재 Windows Terminal을 통해 Power Shell v7.3.5를 실행한 화면이다.
며칠 지나니 Microstore에 7.3.5가 등장하셔서... 다시 store로 설치했음.
같이 보면 좋은 자료들
https://dsaint31.me/mkdocs_site/OS/console_terminal_shell_kernel/
BME
Console, Terminal, and Shell Console: 컴퓨터(주로 서버)에 command를 작성하여 입력하고 그 결과를 확인할 수 있는 (물리적) 입출력 장치 . Terminal과 비슷한 의미를 가지고 있으나 보다 물리적인 측면이 강
dsaint31.me
2025.12.31 - [utils/cmd and powershell] - Windows PowerShell 명령어 (기본): PowerShell 5.x
Windows PowerShell 명령어 (기본): PowerShell 5.x
5.x 라고 했으나, MS사가 Windows PowerShell의 버전을 5.1로 동결하고 이후의 버전은 PowerShell 6+ (현재의 Major version은 7임)로 분리한 상태임. 기능 개선이 되어야 minor version이 올라가는데, Windows버전 향상
ds31x.tistory.com
2025.12.31 - [shell] - PowerShell의 초기화-profile
PowerShell의 초기화-profile
PowerShell의 profile이란?PowerShell의 profile은셸이 시작될 때 자동으로 실행되어환경 변수, alias, 함수, 초기화 코드 등을 설정하는시작 스크립트(확장자 .ps1 파일).PowerShell은 상황에 따라 서로 다른 prof
ds31x.tistory.com
'개발환경' 카테고리의 다른 글
| [Env] oh-my-posh에서 conda env prefix 없애기 (0) | 2023.06.29 |
|---|---|
| [CLI] 명령어 위치 찾기. (0) | 2023.06.28 |
| [Env] xterm: Font (0) | 2023.06.26 |
| [Env] VSCode : Terminal Font 변경: (0) | 2023.06.21 |
| [Env] Environment Variable (환경변수) (1) | 2023.06.20 |