Windows에 PowerShell 설치

Windows에서 여러 가지 방법으로 PowerShell을 설치할 수 있습니다. 각 설치 방법은 다양한 시나리오와 워크플로를 지원하도록 설계되었습니다. 사용자의 요구 사항에 가장 적합한 방법을 선택하세요.

  • Winget - Windows 클라이언트에 PowerShell을 설치하는 권장 방법
  • MSI 패키지 - Windows Server 및 엔터프라이즈 배포 시나리오에 가장 적합한 선택
  • ZIP 패키지 - 여러 버전을 “테스트용 로드”하거나 설치하는 가장 쉬운 방법
    • 이는 Windows Nano Server, Windows IoT, Arm 기반 시스템에 이 방법 사용
  • .NET Global 도구 - 다른 전역 도구를 설치하고 사용하는 .NET 개발자에게 적합
  • Microsoft Store 패키지 - PowerShell의 일반 사용자를 위한 간편한 설치 방법이지만 제한 사항이 있음

참고

이 문서의 설치 명령은 PowerShell의 안정적 최신 릴리스용입니다. 다른 버전의 PowerShell을 설치하려면 필요한 버전과 일치하도록 명령을 조정합니다. 다음 링크는 GitHub PowerShell 리포지토리의 각 버전에 대한 릴리스 페이지로 안내합니다.

모든 패키지의 다운로드 링크는 릴리스 페이지의 자산 섹션에 있습니다. Assets 섹션이 축소되어 있으면 클릭하여 확장합니다.

Windows 패키지 관리자인 Winget은 사용자가 Windows 클라이언트 컴퓨터에서 애플리케이션을 검색, 설치, 업그레이드, 제거, 구성할 수 있도록 하는 명령줄 도구입니다. 이 도구는 Windows 패키지 관리자 서비스에 대한 클라이언트 인터페이스입니다. winget 명령줄 도구는 기본적으로 앱 설치 관리자로 Windows 11 및 최신 버전의 Windows 10에 번들로 제공됩니다.

참고

시스템 요구 사항 및 설치 지침 목록은 winget 설명서를 참조하세요. Winget 는 현재 Windows 서버에서 실행되지 않습니다.

게시된 winget 패키지로 PowerShell을 설치하는 데 다음 명령을 사용할 수 있습니다.

PowerShell 최신 버전 검색

winget search Microsoft.PowerShell
Name               Id                           Version Source
--------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.3.1.0 winget
PowerShell Preview Microsoft.PowerShell.Preview 7.4.1.0 winget

id 매개 변수를 사용하여 Powershell 또는 Powershell 미리 보기 설치

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget

참고

X86 또는 X64 프로세서 winget 를 사용하는 Windows 시스템에서 MSI 패키지를 설치합니다. Arm64 프로세서 winget 를 사용하는 시스템에서 MSIX(Microsoft Store) 패키지를 설치합니다. 자세한 내용은 Microsoft Store에서 설치를 참조하세요.

MSI 패키지 설치

Windows에서 PowerShell을 설치하려면 다음 링크를 사용하여 GitHub에서 설치 패키지를 다운로드합니다.

다운로드가 완료되면 설치 프로그램 파일을 두 번 클릭하고 지시를 따릅니다.

설치 관리자는 Windows 시작 메뉴에 바로 가기를 만듭니다.

  • 기본적으로 패키지는 $env:ProgramFiles\PowerShell\<version>에 설치됩니다.
  • 시작 메뉴 또는 $env:ProgramFiles\PowerShell\<version>\pwsh.exe를 통해 PowerShell을 시작할 수 있습니다.

참고

PowerShell 7.3은 새 디렉터리에 설치되고 Windows PowerShell 5.1과 나란히 실행됩니다. PowerShell 7.3은 PowerShell 7.0 이하를 대체하는 현재 위치 업그레이드입니다.

  • PowerShell 7.3이 에 설치되어 있습니다. $env:ProgramFiles\PowerShell\7
  • $env:ProgramFiles\PowerShell\7 폴더가 $env:PATH에 추가됩니다.
  • 이전에 릴리스된 버전의 폴더가 삭제됩니다.

PowerShell 7.3을 다른 버전과 나란히 실행해야 하는 경우 ZIP 설치 방법을 사용하여 다른 버전을 다른 폴더에 설치합니다.

PowerShell 7.2 이상에서 Microsoft 업데이트 지원

PowerShell 7.2 이상에서는 Microsoft 업데이트를 지원합니다. 이 기능을 사용하도록 설정하면 비즈니스용 Windows 업데이트, WSUS, Microsoft Endpoint Configuration Manager 또는 설정의 대화형 MU(Microsoft 업데이트) 대화 상자에 관계없이 기존 MU 관리 흐름에서 최신 PowerShell 7 업데이트를 가져올 수 있습니다.

PowerShell 7.3 MSI 패키지에는 다음 명령줄 옵션이 포함됩니다.

  • USE_MU - 이 속성에는 두 가지 가능한 값이 있습니다.
    • 1(기본값) - Microsoft 업데이트, WSUS 또는 Configuration Manager를 통한 업데이트를 옵트인합니다.
    • 0- Microsoft 업데이트, WSUS 또는 Configuration Manager 통해 업데이트를 옵트인하지 마세요.
  • ENABLE_MU
    • 1(기본값) - Microsoft 업데이트를 사용한 자동 업데이트를 옵트인합니다.
    • 0 - Microsoft 업데이트 사용을 옵트인하지 않음

참고

업데이트 사용이 이전 설치 또는 수동 구성에서 설정되었을 수 있습니다. 를 사용하면 ENABLE_MU=0 기존 설정이 제거되지 않습니다. 또한 이 설정은 관리자가 제어하는 그룹 정책 설정에 의해 재정의될 수 있습니다.

자세한 내용은 Powershell Microsoft 업데이트 FAQ를 참조하세요.

명령줄에서 MSI 패키지 설치

명령줄에서 MSI 패키지를 설치할 수 있으므로 관리자는 사용자 상호 작용 없이 패키지를 배포할 수 있습니다. MSI 패키지에는 다음과 같은 설치 옵션 제어 속성이 포함되어 있습니다.

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL - 이 속성은 Windows 탐색기의 컨택스트 메뉴에 Open PowerShell 항목을 추가하는 옵션을 제어합니다.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL - 이 속성은 Windows 탐색기의 컨택스트 메뉴에 Run with PowerShell 항목을 추가하는 옵션을 제어합니다.
  • ENABLE_PSREMOTING - 이 속성은 설치 중 PowerShell 원격 조정을 사용하는 옵션을 제어합니다.
  • REGISTER_MANIFEST - 이 속성은 Windows 이벤트 로깅 매니페스트를 등록하는 옵션을 제어합니다.
  • ADD_PATH - 이 속성은 Windows PATH 환경 변수에 PowerShell을 추가하는 옵션을 제어합니다.

다음 예제에서는 PowerShell을 자동으로 설치할 때 모든 설치 옵션을 사용하도록 설정하는 방법을 보여 줍니다.

msiexec.exe /package PowerShell-7.3.1-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 USE_MU=1 ENABLE_MU=1 ADD_PATH=1

Msiexec.exe에 대한 명령줄 옵션의 전체 목록은 명령줄 옵션을 참조하세요.

ZIP 패키지 설치

고급 배포 시나리오를 지원하기 위해 PowerShell 이진 ZIP 아카이브가 제공됩니다. 현재 릴리스 페이지에서 다음 ZIP 보관 중 하나를 다운로드합니다.

파일을 다운로드하는 방법에 따라 Unblock-File cmdlet을 사용하여 파일의 차단을 해제해야 할 수도 있습니다. 원하는 위치에 콘텐츠의 압축을 풀고, 여기서 pwsh.exe를 실행합니다. MSI 패키지 설치와 달리 ZIP 보관 파일 설치는 필수 조건을 확인하지 않습니다. WSMan에서 원격 기능이 제대로 작동하도록 하려면 필수 조건을 충족했는지 확인하세요.

이 방법을 사용하여 Microsoft Surface Pro X와 같은 컴퓨터에 ARM 기반 버전의 PowerShell을 설치합니다. 최상의 결과를 위해서는 $env:ProgramFiles\PowerShell\7 폴더에 PowerShell을 설치하세요.

.NET 전역 도구로 설치

.NET Core SDK가 이미 설치되어 있는 경우 PowerShell을 .NET 전역 도구로 설치할 수 있습니다.

dotnet tool install --global PowerShell

dotnet 도구 설치 프로그램은 $env:PATH 환경 변수에 $HOME\.dotnet\tools를 추가합니다. 그러나 현재 실행 중인 셸에는 업데이트된 $env:PATH가 없습니다. 새 셸에서 pwsh를 입력하여 PowerShell을 시작할 수 있습니다.

Microsoft Store에서 설치

PowerShell 7.3은 Microsoft Store에서 설치할 수 있습니다. 이 PowerShell 릴리스는 Microsoft Store 사이트 또는 Windows의 Microsoft Store 애플리케이션에서 찾을 수 있습니다.

Microsoft Store 패키지의 이점:

  • Windows에 바로 기본 제공되는 자동 업데이트
  • Intune 및 Configuration Manager 같은 기타 소프트웨어 배포 메커니즘과 통합
  • x86, x64 또는 Arm64 프로세서를 사용하여 Windows 시스템에 설치할 수 있습니다.

알려진 제한 사항

기본적으로 Windows 스토어 패키지는 일부 파일 시스템 및 레지스트리 위치에 대한 액세스를 가상화하는 애플리케이션 샌드박스에서 실행됩니다. 가상화된 파일 및 레지스트리 위치에 대한 변경 내용은 애플리케이션 샌드박스 외부에서 유지되지 않습니다.

이 샌드박스는 애플리케이션의 루트 폴더에 대한 모든 변경 내용을 차단합니다. 에 $PSHOME 저장된 시스템 수준 구성 설정은 수정할 수 없습니다. 여기에는 WSMAN 구성이 포함됩니다. 그러므로 원격 세션에서 PowerShell의 저장소 기반 설치에 연결할 수 없습니다. 사용자 수준 구성 및 SSH 원격 기능을 지원합니다.

다음 명령에는 $PSHOME에 대한 쓰기가 필요합니다. 이러한 명령은 PowerShell의 Microsoft Store 인스턴스에서 지원되지 않습니다.

  • Register-PSSessionConfiguration
  • Update-Help -Scope AllUsers
  • Enable-ExperimentalFeature -Scope AllUsers
  • Set-ExecutionPolicy -Scope LocalMachine

자세한 내용은 Windows에서 패키지된 데스크톱 앱을 실행하는 방법 이해를 참조하세요.

PowerShell 7.2의 변경 내용

PowerShell 7.2부터 이제 PowerShell 패키지는 파일 및 레지스트리 가상화에서 제외됩니다. 이제 가상화된 파일 및 레지스트리 위치에 대한 변경 내용이 애플리케이션 샌드박스 외부에서 유지됩니다. 그러나 애플리케이션의 루트 폴더에 대한 변경 내용은 계속 차단됩니다.

중요

이 예외가 작동하려면 Windows 빌드 1903 이상에서 실행해야 합니다.

미리 보기 버전 설치

PowerShell 7의 미리 보기 릴리스는 $env:ProgramFiles\PowerShell\7-preview에 설치되므로 PowerShell의 미리 보기가 아닌 릴리스와 함께 실행할 수 있습니다. PowerShell 7.4는 다음 미리 보기 릴리스입니다.

기존 설치 업그레이드

업그레이드할 때 최상의 결과를 위해서는 PowerShell을 처음 설치할 때 사용한 것과 동일한 설치 방법을 사용해야 합니다. 설치 방법마다 PowerShell이 설치되는 위치가 다릅니다. PowerShell이 설치된 방법을 잘 모르는 경우 설치된 위치를 이 문서의 패키지 정보와 비교할 수 있습니다. MSI 패키지를 통해 설치한 경우 프로그램 및 기능 제어판에 해당 정보가 표시됩니다.

참고

업그레이드할 때 PowerShell은 LTS 버전에서 비 LTS 버전으로 업그레이드되지 않습니다. 예를 들어 7.2.3에서 7.2.8로 최신 버전의 LTS로만 업그레이드됩니다. LTS 릴리스에서 안정적인 최신 버전 또는 다음 LTS로 업그레이드하려면 해당 릴리스에 대한 MSI를 사용하여 새 버전을 설치해야 합니다.

설치된 버전이 LTS 버전이 아닌 경우 PowerShell은 안정적인 최신 버전으로 업그레이드됩니다.

Windows 10 IoT Enterprise에 배포

Windows 10 IoT Enterprise는 PowerShell 7을 배포하는 데 사용할 수 있는 Windows PowerShell과 함께 제공됩니다.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.3.1-win-arm64.zip'
$downloadfolder = 'u:\users\administrator\Downloads'  # The download location is local to the device.
    # There should be enough  space for the zip file and the unzipped contents.

# Create PowerShell session to target device
Set-Item -Path WSMan:\localhost\Client\TrustedHosts $deviceip
$S = New-PSSession -ComputerName $deviceIp -Credential Administrator
# Copy the ZIP package to the device
Copy-Item $zipfile -Destination $downloadfolder -ToSession $S

#Connect to the device and expand the archive
Enter-PSSession $S
Set-Location u:\users\administrator\Downloads
Expand-Archive .\PowerShell-7.3.1-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.3.1-win-arm64
# Be sure to use the -PowerShellHome parameter otherwise it tries to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .

PowerShell 원격을 설정하면 오류 메시지가 나타나고 디바이스에서 연결이 끊어집니다. PowerShell은 WinRM을 다시 시작해야 합니다. 이제 디바이스에서 PowerShell 7 엔드포인트에 연결할 수 있습니다.


# Be sure to use the -Configuration parameter. If you omit it, you connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName $deviceIp -Credential Administrator -Configuration PowerShell.7.3.1

Windows 10 IoT Core에 배포

Windows 10 IoT Core는 IOT_POWERSHELL 기능을 포함할 때 Windows PowerShell을 추가하여 PowerShell 7을 배포하는 데 사용할 수 있습니다. IoT Core에 대해서도 위에서 정의한 Windows 10 IoT Enterprise 단계를 따를 수 있습니다.

배송 이미지에 최신 PowerShell을 추가하려면 Import-PSCoreRelease 명령을 사용하여 패키지를 작업 영역에 포함하고 OPENSRC_POWERSHELL 기능을 이미지에 추가합니다.

참고

ARM64 아키텍처의 경우 IOT_POWERSHELL 포함할 때 Windows PowerShell 추가되지 않습니다. 따라서 zip 기반 설치가 작동하지 않습니다. Import-PSCoreRelease 명령을 사용하여 이미지에 추가해야 합니다.

Nano 서버에 배포

이 지침에서는 Nano 서버가 한 가지 버전의 PowerShell이 이미 실행 중인 "헤드리스" OS라고 가정합니다. 자세한 내용은 Nano 서버 이미지 작성기 설명서를 참조하세요.

두 가지 방법으로 PowerShell 이진 파일을 배포할 수 있습니다.

  1. 오프라인 - Nano 서버 VHD를 탑재하고 zip 파일의 내용을 탑재된 이미지 내의 선택한 위치에 압축을 풉니다.
  2. 온라인 - PowerShell 세션을 통해 zip 파일을 전송하고 선택한 위치에서 압축을 풉니다.

두 경우 모두 Windows x64 ZIP 릴리스 패키지가 필요합니다. PowerShell의 "관리자" 인스턴스 내에서 명령을 실행합니다.

PowerShell의 오프라인 배포

  1. 자주 사용하는 zip 유틸리티로 패키지를 탑재된 Nano 서버 이미지 내의 디렉터리에 압축을 풉니다.
  2. 이미지를 탑재 해제하고 부팅합니다.
  3. Windows PowerShell의 기본 제공 인스턴스에 연결합니다.
  4. 지침에 따라 “다른 인스턴스 기법”을 사용하여 원격 엔드포인트를 만듭니다.

PowerShell의 온라인 배포

다음 단계에 따라 PowerShell을 Nano 서버로 배포하세요.

# Replace the placeholder information for the following variables:
$ipaddr = '<Nano Server IP address>'
$credential = Get-Credential # <An Administrator account on the system>
$zipfile = 'PowerShell-7.3.1-win-x64.zip'
# Connect to the built-in instance of Windows PowerShell
$session = New-PSSession -ComputerName $ipaddr -Credential $credential
# Copy the file to the Nano Server instance
Copy-Item $zipfile c:\ -ToSession $session
# Enter the interactive remote session
Enter-PSSession $session
# Extract the ZIP file
Expand-Archive -Path C:\PowerShell-7.3.1-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

WSMan 기반 원격 작업이 필요한 경우 지침에 따라 “다른 인스턴스 기법”을 사용하여 원격 엔드포인트를 만듭니다.

PowerShell 원격 기능

PowerShell은 WSMan 및 SSH와 함께 PowerShell Remoting Protocol(PSRP)을 지원합니다. 자세한 내용은 다음을 참조하세요.

이전 버전의 Windows에서 WSMan을 통해 PowerShell 원격 기능을 사용하도록 설정하려면 다음 전제 조건을 충족해야 합니다.

  • Windows Management Framework(WMF) 5.1을 설치합니다(필요한 경우). WMF에 대한 자세한 내용은 WMF 개요를 참조하세요.
  • Windows 10 이전의 Windows 버전에서는 Universal C Runtime을 설치해야 합니다. 직접 다운로드 또는 Windows 업데이트를 통해 설치할 수 있습니다. 완전히 패치된 시스템에는 이 패키지가 이미 설치되어 있습니다.

지원되는 Windows 버전

다음 표는 PowerShell 릴리스 및 지원되는 Windows 버전 목록입니다. 이러한 버전은 PowerShell 지원 종료 버전 또는 Windows 지원 종료 버전까지 지원됩니다.

  • 지원되는 아이콘은 OS 또는 PowerShell 버전이 계속 지원됨을 나타냅니다.
  • 지원되지 않음 아이콘은 해당 버전의 OS에서 PowerShell 버전이 더 이상 지원되지 않음을 나타냅니다.
  • 테스트 중 아이콘은 해당 OS에서 PowerShell 테스트를 완료하지 않았음을 나타냅니다.
  • 지원되지 않음 아이콘은 OS 또는 PowerShell 버전이 지원되지 않음을 나타냅니다.
  • OS 버전과 PowerShell 버전 모두 지원되는 아이콘이 있는 경우 해당 조합이 지원됩니다.
Windows 7.2(LTS-current) 7.3 7.4(미리 보기)
지원되는 Windows Server 2016, 2019 또는 2022 지원됨 지원됨 지원됨
지원되는 Windows Server 2012 R2 지원됨 지원됨 지원됨
지원 Windows Server Core(2012 R2 이상) 지원됨 지원됨 지원됨
지원 Windows Server Nano(1809 이상) 지원됨 지원됨 지원됨
지원되는 Windows 11 지원됨 지원됨 지원됨
지원되는 Windows 10 1607 이상 지원됨 지원됨 지원됨

참고

특정 버전의 Windows 대한 지원은 Microsoft 지원 수명 주기 정책에 따라 결정됩니다. 자세한 내용은 다음을 참조하세요.

PowerShell은 Windows에서 다음 프로세서 아키텍처에 대해 지원됩니다.

Windows 7.2(LTS-current) 7.3 7.4(미리 보기)
Nano Server 버전 1803+ X64 X64 X64
Windows Server 2012 R2+ x64, x86 x64, x86 x64, x86
Windows Server Core 2012 R2+ x64, x86 x64, x86 x64, x86
Windows 10 또는 11 클라이언트 x64, x86, Arm64 x64, x86, Arm64 x64, x86, Arm64

winver.exe를 실행하여 사용 중인 버전을 확인할 수 있습니다.

설치 지원

Microsoft는 이 문서의 설치 방법을 지원합니다. 다른 소스에서 사용 가능한 타사의 다른 설치 방법이 있을 수 있습니다. 이러한 도구와 메서드가 작동할 수 있지만 Microsoft는 이러한 메서드를 지원할 수 없습니다.