이 글에서는 Windows PowerShell을 최신 버전인 5.1로 업데이트하는 방법과 PowerShell Core 7.1을 새롭게 설치(업그레이드)하는 방법을 자세히 소개합니다. 앞선 글에서 말씀드렸듯이 현재 PowerShell에는 두 가지 버전이 존재합니다. 더 이상 개발이 중단된 클래식 Windows PowerShell(최종 버전 5.1)과 이를 대체하는 크로스 플랫폼 기반의 PowerShell Core(현재 7.1 버전 출시)입니다.
버전 번호만 보면 5.1에서 6.0, 6.1, 7.0, 7.1로 이어지는 것처럼 보이지만, 사실 이 둘은 서로 다른 플랫폼입니다. 따라서 이 글에서는 Windows PowerShell과 PowerShell Core 두 가지 모두를 각각 업데이트하는 방법을 알아보겠습니다.
Windows PowerShell 5.1로 업그레이드하기
Windows Server 2012 R2(Windows 8.1)에는 기본적으로 PowerShell 4.0이 설치되어 있습니다. 여기서는 Windows Server 2012 R2 환경에서 Windows PowerShell을 5.1 버전으로 업그레이드하는 과정을 살펴보겠습니다.
먼저 현재 설치된 PowerShell 버전을 확인합니다. 아래 명령어를 실행하면 PowerShell 4.0이 설치되어 있는 것을 확인할 수 있습니다.
$PSVersionTable.PSVersion

1단계: .NET Framework 4.5.2 이상 설치 확인
PowerShell을 5.1로 업그레이드하려면 Windows Management Framework(WMF) 5.1을 설치해야 하며, 이를 위해서는 .NET Framework 4.5.2 이상이 사전에 설치되어 있어야 합니다. 아래 명령어로 .NET Framework 버전을 확인하세요.
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release).Release

위 예시에서 릴리스 값이 378675로 표시되는데, 이는 .NET Framework 4.5.1이 설치되어 있다는 의미입니다. 따라서 최신 버전인 .NET Framework 4.8을 다운로드하여 설치해야 합니다(오프라인 설치 파일: https://go.microsoft.com/fwlink/?linkid=2088631 — ndp48-x86-x64-allos-enu.exe).
.NET 4.8을 설치한 후에는 컴퓨터를 재부팅해야 합니다.

주의: .NET 4.5.2 없이 WMF 5.1을 설치하면 일부 PowerShell 기능을 사용할 수 없습니다.
2단계: WMF 5.1 설치
Windows Server 2012 R2용 WMF 5.1 설치 파일(Win8.1AndW2K12R2-KB3191564-x64.msu)을 다운로드합니다(https://go.microsoft.com/fwlink/?linkid=839516).
다운로드한 MSU 파일을 실행하여 Windows Management Framework 5.1을 설치합니다.

서버 재시작 후 PowerShell 콘솔을 열고 버전이 5.1로 업데이트되었는지 확인합니다.

참고로 지원이 종료된 Windows 7 또는 Windows Server 2008 R2를 사용 중이라면 같은 방식으로 PowerShell 2.0에서 5.1로 업그레이드할 수 있습니다. 먼저 .NET Framework 4.5.2 이상을 설치한 후 WMF 5.1을 설치하면 됩니다(다운로드 링크는 Windows Server 2012 R2용과 다릅니다).
PowerShell Core 7 설치 및 업데이트 방법
Windows 10과 Windows Server 2019에 탑재된 최신 Windows PowerShell 버전은 5.1입니다. 마이크로소프트는 이후 크로스 플랫폼을 지원하는 PowerShell Core 개발에 집중했으며, 현재 6.0, 6.1, 6.2, 7.0, 7.1 버전이 출시되어 있습니다.
PowerShell Core는 Windows PowerShell과 함께 컴퓨터에 별도로 설치되는 새로운 플랫폼입니다. 즉, PowerShell 5.1을 PowerShell Core 7.1로 "업그레이드"하는 것이 아니라, PowerShell 7은 Windows PowerShell 5.1과 나란히 별도로 설치됩니다.
PowerShell 7.1에서는 개발자들이 Windows PowerShell과의 호환성을 극대화했습니다. 따라서 기존의 PS1 스크립트와 cmdlet도 PowerShell Core 환경에서 문제없이 실행할 수 있습니다.
PowerShell Core 6.0이 이미 설치되어 있다면 최신 버전인 PowerShell 7.1로 업데이트할 수 있고, Windows PowerShell 5.1과 함께 PowerShell Core 7.1을 새로 설치할 수도 있습니다. 여기서는 Windows 10 20H2 환경에서 PowerShell Core를 업데이트하는 예시를 들어보겠습니다. 업그레이드 방법은 두 가지입니다.
- GitHub에서 PowerShell Core MSI 설치 파일을 직접 다운로드하여 설치
- PowerShell 콘솔에서 바로 다운로드 및 설치(업데이트)
최신 PowerShell Core는 Windows 7 SP1, Windows Server 2008 R2 이상의 모든 Windows 버전에 설치할 수 있습니다.
방법 1: GitHub에서 MSI 패키지로 수동 설치
MSI 패키지로 설치하려면 프로젝트 페이지(https://github.com/PowerShell/PowerShell)에 접속하여 최신 안정(stable) 릴리스를 찾습니다. 이 글을 작성하는 시점 기준 최신 안정 버전은 2021년 3월 4일에 출시된 PowerShell v7.1.3입니다. 상위 미리보기(preview) 버전인 PowerShell v7.2.0도 있지만, 안정성을 위해 정식 버전을 사용하는 것이 좋습니다.
Assets 목록을 펼쳐 자신의 Windows 버전에 맞는 패키지(PowerShell-7.1.3-win-x64.msi 또는 PowerShell-7.1.3-win-x86.msi)를 선택합니다.

MSI 파일을 다운로드한 후 실행하여 설치를 진행합니다.

SCCM, MDT 또는 스크립트를 통해 조용한(quiet) 모드로 MSI 패키지를 배포하려면 아래와 같은 파라미터를 사용할 수 있습니다.
msiexec.exe /package PowerShell-7.1.0-win-x86.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1
방법 2: PowerShell 콘솔에서 바로 설치
PS CLI에서 바로 최신 PowerShell Core를 설치(업데이트)할 수도 있습니다. 아래 명령어를 실행하세요.
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
이 명령은 GitHub에서 PowerShell 7.1 MSI 배포 파일을 다운로드한 후 MSI 설치 관리자를 통해 설치를 시작합니다.
추가로 사용할 수 있는 설치 파라미터는 다음과 같습니다.
- -Destination — PowerShell Core 기본 설치 폴더 변경
- -Preview — 최신 미리보기(Preview) 버전 설치
- -Quiet — 조용한 모드(사용자 개입 없이) 설치
- -AddToPath — PowerShell Core 설치 디렉터리 경로를 환경 변수에 추가

패키지 관리자(WinGet, Chocolatey) 활용
WinGet 패키지 관리자가 설치되어 있다면 아래 한 줄 명령으로 PowerShell을 최신 버전으로 설치하거나 업데이트할 수 있습니다.
winget install --id=Microsoft.PowerShell -e
특정 버전의 PowerShell Core를 설치하려면 다음과 같이 입력합니다.
winget install --id=Microsoft.PowerShell -v "7.1.2" -e
Chocolatey 패키지 관리자를 사용한다면 아래 명령어를 이용하세요.
choco install powershell -y
choco upgrade powershell -y
PowerShell 7.x의 경우:choco install pwsh -y
choco upgrade pwsh -y
설치 후 확인: 버전 및 실행 파일 위치
설치가 완료되면 PowerShell Core(pwsh.exe) 창이 열립니다. 여기서 버전을 확인하여 PowerShell 7.1.3이 제대로 설치되었는지 점검하세요.

버전별 PowerShell 설치 디렉터리는 다음과 같습니다.
- Windows PowerShell 5.1:
$env:WINDIR\System32\WindowsPowerShell\v1.0 - PowerShell Core 6.x:
$env:ProgramFiles\PowerShell\6 - PowerShell Core 7.x:
$env:ProgramFiles\PowerShell\7
컴퓨터에 PowerShell 6.x가 설치되어 있었다면, PowerShell 7.1 설치 시 $env:ProgramFiles\PowerShell\6 디렉터리는 자동으로 삭제됩니다.
또한 PowerShell 실행 파일 이름이 변경된 점에 유의하세요. PowerShell Core의 실행 파일은 c:\Program Files\PowerShell\7\pwsh.exe이며, 시작 메뉴에 별도의 아이콘이 생성됩니다.
- .NET Framework 기반의 Windows PowerShell 실행:
powershell.exe - .NET Core 기반의 PowerShell Core 실행:
pwsh.exe

즉, 하나의 컴퓨터에 Windows PowerShell 5.1과 PowerShell Core 7.1이 동시에 설치되어 함께 사용할 수 있습니다.

장치에 설치된 PowerShell의 버전과 빌드 정보를 확인하려면 pwsh.exe 파일의 버전을 조회하면 됩니다.
(Get-Command 'C:\Program Files\PowerShell\7\pwsh.exe').Version

원격 컴퓨터의 파일 버전을 확인하는 방법은 다음과 같습니다.
Invoke-Command -Computername computer1 -Scriptblock {(Get-Command 'C:\Program Files\PowerShell\7\pwsh.exe').Version}
참고로 Windows PowerShell에는 하위 호환 모드가 내장되어 있어, 최신 버전이 설치되어 있더라도 구버전의 PowerShell을 실행할 수 있습니다. 특정 버전(예: 4.0)의 PowerShell을 시작하려면 아래 명령어를 사용하세요.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Version 4
Microsoft Store를 통한 PowerShell Core 설치
Windows 10에서는 Microsoft Store를 통해서도 PowerShell을 설치하거나 업데이트할 수 있습니다. 스토어에서 PowerShell 앱을 직접 검색하거나 제공된 링크를 이용하면 됩니다. 이 방식의 장점은 스토어 앱이 설치된 PowerShell 버전을 추적하여, 새 업데이트가 배포되면 자동으로 설치해준다는 점입니다.
하지만 단점도 있습니다. 스토어에서 설치한 PowerShell은 샌드박스(sandbox) 환경에서 실행되기 때문에 일부 시스템 작업이 제한될 수 있습니다.

APPX/MSIX 애플리케이션 파일을 다운로드한 후 Add-AppxPackage cmdlet으로 설치하는 방법도 가능합니다.
그룹 정책(GPO)으로 PowerShell Core 배포하기
Active Directory 도메인 환경에서는 그룹 정책을 활용해 PowerShell Core를 중앙에서 배포하고 업데이트할 수 있습니다. GPO의 MSI 패키지 설치 기능을 사용하면 됩니다.
- PowerShell MSI 설치 파일을 다운로드하여 도메인 컨트롤러의 SYSVOL 디렉터리에 복사합니다.
- 도메인 그룹 정책 관리 콘솔(
gpmc.msc)을 열고 새 GPO를 생성한 후, 컴퓨터와 서버가 속한 OU에 연결합니다. - GPO 섹션에서 Computer Configuration → Software Settings로 이동하여 새 패키지를 만들고, SYSVOL 폴더 내 PowerShell MSI 설치 파일의 UNC 경로를 지정합니다.
GPO WMI 필터를 활용하면 특정 도메인 장치에만 정책을 더 정확하게 적용할 수 있습니다. - 소프트웨어 설치 그룹 정책 설정을 적용하려면 컴퓨터를 재시작해야 합니다. 부팅 시 모든 컴퓨터에 새 버전의 PowerShell이 설치됩니다.
원격으로 PowerShell 업데이트하기
명령 프롬프트 또는 PowerShell을 통해 원격 컴퓨터의 PowerShell을 업데이트하는 방법도 여러 가지가 있습니다.
첫 번째 방법은 공유 네트워크 폴더에 있는 MSI 설치 파일을 사용해 원격 컴퓨터의 PowerShell을 업데이트하는 것입니다.
Invoke-Command -ComputerName mun-srv01 -ScriptBlock {Start-Process msiexec.exe -ArgumentList '/package "\\mun-fs01\install\PowerShell-7.1.3-win-x64.msi" /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1' -Wait}
아래 스크립트는 Active Directory 도메인에서 활성화된 모든 Windows 10 컴퓨터를 조회한 뒤, 각 컴퓨터에 PowerShell Core를 다운로드하고 설치합니다.
Get-ADComputer cmdlet을 사용하려면 로컬 장치에 Active Directory PowerShell 모듈이 설치되어 있어야 합니다.$ADComputers = Get-ADComputer -Filter 'operatingsystem -like "*Windows 10*" -and enabled -eq "true"'
ForEach ($computer in $ADcomputers) {
Invoke-Command -ComputerName $computer {iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI -Quiet"}
}
PowerShell 원격 연결 시 주의사항
원격 컴퓨터에 연결할 때 PowerShell Remoting 명령(Enter-PSSession, Invoke-Command cmdlet)을 사용할 때는 주의가 필요합니다. PowerShell 7.1 엔드포인트에 연결하려면 반드시 아래와 같이 구성 이름(ConfigurationName)을 지정해야 합니다.
Enter-PSSession -ComputerName dc01 -ConfigurationName "powershell.7.1.3"
이 옵션을 지정하지 않으면 기본값인 PowerShell Remoting 5.1 엔드포인트로 연결됩니다.