添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

有多种方法可以在 Windows 中安装 PowerShell。 每种安装方法旨在支持不同的方案和工作流。 选择最符合需求的方法。

  • WinGet - 在 Windows 客户端上安装 PowerShell 的建议方法
  • MSI 包 - Windows Server 和企业部署方案的最佳选择
  • ZIP 包 -“旁加载”或安装多个版本的最简单方法
    • 将此方法用于 Windows Nano Server、Windows IoT 和基于 Arm 的系统
    • .NET 全局工具 - 非常适用于安装和使用其他全局工具的 .NET 开发人员
    • Microsoft Store 包 - 适用于 PowerShell 临时用户进行安装的一种简单方法,但有一些限制
    • 本文中的安装命令适用于最新稳定版的 PowerShell。 若要安装不同版本的 PowerShell,请调整命令以匹配所需的版本。 以下链接将引导你到 GitHub 上每个版本的最新发布页面。

    • 稳定版本 v7.5。 x https://aka.ms/powershell-release?tag=stable
    • LTS 版本 v7.4. x https://aka.ms/powershell-release?tag=lts
    • 预览版 v7.6.0-preview. x https://aka.ms/powershell-release?tag=preview
    • 可在“版本”页的“资产”部分中找到每个包的下载链接。 由于“资产” 部分可能处于折叠状态,因此可能需要单击展开它。

      WinGet(Windows 包管理器)是一种命令行工具,允许用户在 Windows 客户端计算机上发现、安装、升级、删除和配置应用程序。 此工具是 Windows 程序包管理器服务的客户端接口。 默认情况下, winget 命令行工具作为应用安装程序与 Windows 11 和现代版本的 Windows 10 捆绑在一起。

      若要查看系统要求列表和安装说明,请参阅 winget 文档。 winget 在 Windows Server 2022 或更低版本上不可用。 Windows Server 2025 预览版内部版本 26085 及更高版本包括仅适用于具有桌面体验的 Windows Server 的 winget

      通过以下命令,可使用已发布的 winget 包安装 PowerShell:

      搜索最新版本的 PowerShell

      winget search Microsoft.PowerShell
      
      Name               Id                           Version Source
      ---------------------------------------------------------------
      PowerShell         Microsoft.PowerShell         7.5.1.0 winget
      PowerShell Preview Microsoft.PowerShell.Preview 7.6.0.4 winget
      

      使用 id 参数安装 PowerShell 或 PowerShell 预览版

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

      在使用 X86 或 X64 处理器的 Windows 系统上,winget 安装 MSI 包。 在使用 Arm64 处理器的系统上,winget 安装 Microsoft Store (MSIX) 包。 有关详细信息,请参阅 从 Microsoft Store 安装

      安装 MSI 包

      若要在 Windows 上安装 PowerShell,请使用以下链接从 GitHub 下载安装包。

    • PowerShell-7.5.1-win-x64.msi
    • PowerShell-7.5.1-win-x86.msi
    • PowerShell-7.5.1-win-arm64.msi
    • 下载后,双击安装程序文件并按照提示进行操作。

      安装程序在 Windows“开始”菜单中创建一个快捷方式。

    • 默认情况下,包安装位置为 $Env:ProgramFiles\PowerShell\<version>
    • 可以通过“开始”菜单或 $Env:ProgramFiles\PowerShell\<version>\pwsh.exe 启动 PowerShell
    • PowerShell 7.5 安装到新目录,并与 Windows PowerShell 5.1 并行运行。 PowerShell 7.5 是一种就地升级,它将替换并移除以前版本的 PowerShell 7。 PowerShell 的预览版可以与其他版本的 PowerShell 并行安装。

    • PowerShell 7.5 已安装到 $Env:ProgramFiles\PowerShell\7
    • $Env:ProgramFiles\PowerShell\7 文件夹已添加到 $Env:PATH
    • 如果需要与其他版本并行运行 PowerShell 7.5,请使用 ZIP 安装 方法将其他版本安装到其他文件夹。

      PowerShell 7.2 及更高版本中对 Microsoft 更新的支持

      PowerShell 7.2 及更高版本支持 Microsoft 更新。 启用此功能时,你将在传统 Microsoft 更新 (MU) 管理流中获得最新的 PowerShell 7 更新,无论是包含适用于企业的 Windows 更新、WSUS、Microsoft Endpoint Configuration Manager,还是包含设置中的交互式 MU 对话框。

      PowerShell MSI 包包含以下命令行选项:

    • USE_MU - 该属性有两个可能值:
      • 1(默认)- 选择通过 Microsoft 更新、WSUS 或 Configuration Manager 进行更新
      • 0 - 不选择通过 Microsoft 更新、WSUS 或 Configuration Manager 进行更新
      • ENABLE_MU
      • 1(默认)- 选择加入使用 Microsoft 更新进行自动更新
      • 0 - 不选择使用 Microsoft 更新
      • 可能已在之前的安装或手动配置中设置了启用更新。 使用 ENABLE_MU=0 并不会删除现有设置。 此外,您的管理员控制的组策略设置可以覆盖此设置。

        有关详细信息,请参阅 PowerShell Microsoft 更新常见问题解答

        从命令行安装 MSI 包

        可以通过命令行安装 MSI 包,这样管理员能够在没有用户交互的情况下部署包。 MSI 包中有下列控制安装选项的属性:

      • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL - 此属性控制添加 Open PowerShell 项到 Windows 资源管理器上下文菜单的选项。
      • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL - 此属性控制添加 Run with PowerShell 项到 Windows 资源管理器上下文菜单的选项。
      • ENABLE_PSREMOTING - 此属性控制用于在安装过程中启用 PowerShell 远程处理的选项。
      • REGISTER_MANIFEST - 此属性控制Windows事件日志清单注册的选项。
      • ADD_PATH - 此属性控制用于将 PowerShell 添加到 Windows PATH 环境变量的选项。
      • DISABLE_TELEMETRY - 此属性通过设置 POWERSHELL_TELEMETRY_OPTOUT 环境变量来控制用于禁用 PowerShell 遥测的选项。
      • INSTALLFOLDER - 此属性控制安装目录。 默认为 $Env:ProgramFiles\PowerShell\。 这是安装程序创建按版本管理的子文件夹的位置。 不能更改带版本的子文件夹的名称。
      • 对于当前发布,版本化的子文件夹是 7
      • 对于预览版本,版本控制子文件夹为 7-preview
      • 下面的示例展示了如何在启用所有安装选项的情况下无提示安装 PowerShell。

        msiexec.exe /package PowerShell-7.5.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 存档之一。

      • PowerShell-7.5.1-win-x64.zip
      • PowerShell-7.5.1-win-x86.zip
      • PowerShell-7.5.1-win-arm64.zip
      • 根据该文件的下载方式,你可能需要使用 Unblock-File cmdlet 解锁。 将内容解压到你选择的位置,然后从该位置运行 pwsh.exe。 与安装 MSI 包不一样,安装 ZIP 存档不会检查先决条件。 为了让使用 WSMan 的远程处理能够正常运行,请确保已满足先决条件

        使用此方法在类似于 Microsoft Surface Pro X 的计算机上安装基于 ARM 的 PowerShell 版本。为获得最佳结果,请将 PowerShell 安装到 $Env:ProgramFiles\PowerShell\7 文件夹。

        作为 .NET 全局工具安装

        如果你已安装 .NET Core SDK,则可以安装 PowerShell 作为 .NET 全局工具

        dotnet tool install --global PowerShell
        

        dotnet 工具安装程序将 $HOME\.dotnet\tools 添加到 $Env:PATH 环境变量中。 不过,当前运行的 shell 没有更新后的 $Env:PATH。 若要从新 shell 启动 PowerShell,可以键入“pwsh”。

        从 Microsoft Store 安装

        可在 Microsoft Store 中安装 PowerShell。 你可以在 Microsoft Store 网站上或在 Windows 应用商店应用程序中找到 PowerShell 版本。

        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 包不再受文件和注册表虚拟化的影响。 现在,对虚拟化文件和注册表位置的更改会在应用程序沙盒外部保留。 不过,仍会阻止对应用程序根文件夹所做的更改。

        要使此例外生效,你必须在 Windows 1903 或更高版本上运行。

        安装预览版本

        PowerShell 7 的预览版安装到 $Env:ProgramFiles\PowerShell\7-preview,这样它们可以与 PowerShell 的非预览版并行运行。 PowerShell 7.6 是下一个预览版。

        升级现有安装

        若要在升级时获得最佳结果,应使用首次安装 PowerShell 时使用的相同安装方法。 如果不确定 PowerShell 的安装方式,可以检查 $PSHOME 变量的值,该变量始终指向包含当前会话运行的 PowerShell 的目录。

      • 如果值为 $HOME\.dotnet\tools,则 PowerShell 随 .NET Global 工具一起安装。
      • 如果值是 $Env:ProgramFiles\PowerShell\7,则 PowerShell 作为 MSI 包安装,或用 WinGet 在具有 X86 或 x64 处理器的计算机上安装。
      • 如果该值以 $Env:ProgramFiles\WindowsApps\开头,PowerShell 被作为 Microsoft 应用商店包 或通过 WinGet 安装在具有 ARM 处理器的计算机上。
      • 如果该值是其他任何值,则可能表明 PowerShell 是作为 ZIP 包 安装的。
      • 如果是通过 MSI 包安装的,则该信息还会显示在“程序和功能”控制面板中。

        若要确定是否可以使用 WinGet 升级 PowerShell,请运行以下命令:

        winget list --id Microsoft.PowerShell --upgrade-available
        

        如果有可用的升级,输出会指示最新的可用版本。 使用以下命令通过 WinGet 升级 PowerShell:

        winget upgrade --id Microsoft.PowerShell
        

        Windows 10 IoT 企业版部署

        Windows 10 IoT 企业版随附 Windows PowerShell,可用来部署 PowerShell 7。

        # Replace the placeholder information for the following variables:
        $deviceip = '<device ip address'
        $zipfile = 'PowerShell-7.5.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.5.1-win-arm64.zip
        # Set up remoting to PowerShell 7
        Set-Location .\PowerShell-7.5.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.5.1

        Windows 10 IoT 核心版部署

        当你添加 IOT_POWERSHELL 功能后,Windows 10 IoT 核心版便会添加 Windows PowerShell,我们可以使用它来部署 PowerShell 7。 对于 IoT 核心版,还可以遵循为 Windows 10 IoT 企业版定义的步骤。

        若要在随附映像中添加最新的 PowerShell,请使用 Import-PSCoreRelease 命令在工作区域中添加包,然后将 OPENSRC_POWERSHELL 功能添加到映像中。

        对于 ARM64 体系结构,在你添加 IOT_POWERSHELL 功能后,它不会添加 Windows PowerShell。 因此,基于 zip 的安装将不起作用。 需要使用 Import-PSCoreRelease 命令将其添加到映像中。

        在 Nano Server 上进行部署

        为了更好地理解这些说明,假定 Nano Server 是已运行 PowerShell 版本的“无外设”操作系统。 有关详细信息,请参阅 Nano Server 映像生成器文档。

        可以使用两种不同的方法来部署 PowerShell 二进制文件。

      • 脱机 - 安装 Nano Server VHD,并将 zip 文件的内容解压到安装映像中的所选位置。
      • 联机 - 通过 PowerShell 会话传输 zip 文件,并在所需位置中将其解压。
      • 在这两种情况下,都需要 Windows x64 ZIP 版本包。 在 PowerShell 的“管理员”实例中运行命令。

        PowerShell 脱机部署

      • 使用常用 zip 实用工具将包解压到已安装的 Nano Server 映像中的目录。
      • 卸载映像并启动。
      • 连接到 Windows PowerShell 的内置实例。
      • PowerShell 在线部署

        若要将 PowerShell 部署到 Nano Server,请按照以下步骤操作。

        # 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.5.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.5.1-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'
        

        PowerShell 远程处理

        PowerShell 支持通过 WSMan 和 SSH 的 PowerShell 远程处理协议 (PSRP)。 有关详细信息,请参阅:

      • 在 PowerShell 中进行 SSH 远程处理
      • 在 PowerShell 中进行 WSMan 远程处理
      • 支持的 Windows 版本

        Microsoft 在 PowerShell 到达支持终止日期Windows 版本到达支持终止日期之前仍然支持 PowerShell。

      • Microsoft 工件注册表中提供包含 Windows Server 2022、Windows Server Core 2022 和 Windows Server Nano 内部版本 1809 的 PowerShell 7.4 和 PowerShell 7.5 x64 预览版的 Docker 映像。
      • PowerShell 7.4 及更高版本可安装在 Windows 10 内部版本 1607 及更高版本、Windows 11、Windows Server 2016 及更高版本上。
      • 对特定版本的 Windows 的支持由 Microsoft 支持部门生命周期策略决定。 有关详细信息,请参阅:

      • Windows 客户端生命周期常见问题解答
      • 新式生命周期策略常见问题解答
      • 可通过运行 winver.exe 来检查所使用的版本。

        Microsoft 支持本文档中的安装方法。 其他源可能会提供其他第三方安装方法。 尽管这些工具和方法可能有效,但 Microsoft 无法支持这些方法。

  •