PowerShell 7 不会替换 Windows PowerShell 5.1。 它安装到新目录,并并行运行 Windows PowerShell 5.1。 可以使用 PowerShell 7 Windows兼容性功能运行一些Windows PowerShell 模块。 其他模块要求在 Windows PowerShell 5.1 中运行它们。 有关详细信息,请参阅 PowerShell 7 模块兼容性。
可以安装多个 PowerShell 7 包版本。 本文重点介绍如何安装最新的稳定发布包。 有关包版本的详细信息,请参阅 PowerShell 支持生命周期 文章。
选择安装方法
可通过多种方式在 Windows 中安装 PowerShell。 每种安装方法旨在支持不同的方案和工作流。 选择最符合需求的方法。
- WinGet - 在 Windows 客户端上安装 PowerShell 的建议方法
- MSI 包 - Windows服务器和企业部署方案的最佳选择
-
ZIP 包 - 旁加载 或安装多个版本的最简单方法
- 将此方法用于 Windows Nano Server、Windows IoT 和基于 Arm 的系统
- .NET 全局工具 - 对于安装和使用其他全局工具的.NET开发人员来说,这是一个不错的选择
- Microsoft Store 包 - 适用于 PowerShell 临时用户进行安装的一种简单方法,但有一些限制
使用 WinGet 安装 PowerShell (建议)
Windows Package Manager WinGet 是一种命令行工具,可用于发现、安装、升级、删除和配置Windows客户端计算机上的应用程序。 此工具是Windows Package Manager服务的客户端接口。
winget 命令行工具包含在 Windows 11 和 Windows Server 2025 中,作为 App Installer 的一部分。
注释
若要查看系统要求列表和安装说明,请参阅 winget 文档。
winget 在 Windows Server 2022 或早期版本上不可用。 Windows Server 2025 仅用于winget。
使用以下命令 winget 安装 PowerShell:
搜索最新版本的 PowerShell
winget search --id Microsoft.PowerShell
Name Id Version Source
---------------------------------------------------------------
PowerShell Microsoft.PowerShell 7.5.5.0 winget
PowerShell Preview Microsoft.PowerShell.Preview 7.6.0.6 winget
安装 PowerShell 7:
winget install --id Microsoft.PowerShell --source winget
若要安装 PowerShell 7 预览版,请使用以下命令:
winget install --id Microsoft.PowerShell.Preview --source winget
注释
在使用 X86 或 X64 处理器的Windows系统上,winget安装 MSI 包。 在使用 Arm64 处理器的系统上,winget 安装 Microsoft Store (MSIX) 包。
安装 MSI 包
若要在 Windows 上安装 PowerShell,请使用以下链接从 GitHub 下载安装包。
最新稳定版本:
最新预览版:
- PowerShell-7.6.0-rc1-win-x64.msi
- PowerShell-7.6.0-rc1-win-x86.msi
- PowerShell-7.6.0-rc1-win-arm64.msi
下载后,双击安装程序文件并按照提示进行操作。
从命令行安装 MSI 包
可以通过命令行安装 MSI 包,这样管理员能够在没有用户交互的情况下部署包。 MSI 包中有下列控制安装选项的属性:
USE_MU- 此属性有两个可能的值:-
1(默认值) - 选择通过 Microsoft 更新、WSUS 或 Configuration Manager 进行更新 -
0- 不要通过 Microsoft Update、WSUS 或 Configuration Manager 进行更新
-
ENABLE_MU1(默认)- 选择加入使用 Microsoft 更新进行自动更新0- 不选择使用 Microsoft 更新注释
可能已在之前的安装或手动配置中设置了启用更新。 使用
ENABLE_MU=0并不会删除现有设置。 此外,您的管理员控制的组策略设置可以覆盖此设置。
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.5-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 版本。为了获得最佳效果,请将 PowerShell 安装到 $Env:ProgramFiles\PowerShell\7 文件夹中。
如果要与现有 PowerShell 7 版本并排安装 PowerShell 7 的其他版本,请将其他版本安装到其他文件夹。 必须手动将快捷方式添加到“开始”菜单,并将位置添加到 PATH 环境变量。
作为.NET全局工具进行安装
如果已安装 .NET Core SDK,则可以将 PowerShell 安装为 .NET 全局工具。
dotnet tool install --global PowerShell
dotnet 工具安装程序将 $HOME\.dotnet\tools 添加到 $Env:PATH 环境变量中。
不过,当前运行的 shell 没有更新后的 $Env:PATH。 若要从新 shell 启动 PowerShell,可以键入“pwsh”。
从 Microsoft 应用商店安装
可以从 Microsoft 应用商店安装 PowerShell。 可以在 Microsoft Store 网站或 Windows 的 Store 应用程序中找到 PowerShell 版本。
Microsoft Store 包的权益:
- 内置于Windows中的自动更新
- 与其他软件分发机制(如 Intune 和 Configuration Manager)集成
- 可以使用 x86、x64 或 Arm64 处理器在Windows系统上安装
基于应用商店的安装的限制
基于商店的安装为单个用户进行安装。 无法为所有用户安装它。 默认情况下,Microsoft Store 包在虚拟化对某些文件系统和注册表位置的访问权限的应用程序沙盒中运行。 对虚拟化文件和注册表位置的更改不会在应用程序沙盒外部保留。
基于商店的安装不支持 PowerShell 远程管理。 应用程序沙盒会阻止对应用程序的根文件夹所做的所有更改。 不能修改存储在 $PSHOME 中的任何系统级配置设置。 其中包括 WSMAN 配置。 这可以防止远程会话连接到 PowerShell 的基于应用商店的安装。 支持出站连接的用户级配置和 SSH 远程处理。
PowerShell 的 Microsoft Store 实例不支持以下命令。 这些命令需要对$PSHOME具有写入权限。
Register-PSSessionConfigurationUpdate-Help -Scope AllUsersEnable-ExperimentalFeature -Scope AllUsersSet-ExecutionPolicy -Scope LocalMachine
有关详细信息,请参阅
从 PowerShell 7.2 开始,PowerShell 包不再受文件和注册表虚拟化的影响。 现在,对虚拟化文件和注册表位置的更改会在应用程序沙盒外部保留。 不过,仍会阻止对应用程序根文件夹所做的更改。
重要
必须使用Windows版本 1903 或更高版本,此豁免才能生效。
启动 PowerShell 7
安装 PowerShell 7 后,可以通过运行 pwsh 命令或从“开始”菜单打开它来启动它。 安装程序在Windows“开始”菜单中创建快捷条目。
默认情况下,安装程序会将安装包安装在$Env:ProgramFiles\PowerShell\7。 PowerShell 7 的预览版安装到 $Env:ProgramFiles\PowerShell\7-preview。 已安装位置已添加到$Env:PATH环境变量中。
注释
若要与其他版本的 PowerShell 7 并行运行 PowerShell 7.5,请使用 ZIP 安装 方法将其他版本安装到其他文件夹。 使用 ZIP 方法安装时,必须手动将快捷方式添加到“开始”菜单,并将位置添加到 PATH 环境变量。
以下屏幕截图显示了“开始”菜单中多个版本的 PowerShell。 选择标记为 PowerShell 7 的项。
所选条目适用于 PowerShell 7。 PowerShell 7 预览版与稳定版本并排安装。 选择标记为 PowerShell 7 预览 的项以启动预览版本。
显示的第一个和最后一个条目适用于默认安装在 Windows 上的 Windows PowerShell 5.1。 如果选择 Windows PowerShell ISE,则会启动 Windows PowerShell 集成脚本环境(ISE),这是一个仅适用于 Windows PowerShell 5.1 的不同应用程序。
升级 PowerShell 7
PowerShell 7 支持通过 Microsoft 更新进行更新。 启用此功能时,无论是通过 Windows Update for Business、WSUS、Microsoft 终端配置管理器,还是在 设置 的交互式 MU 对话框中,你都可以在传统的 Microsoft Update (MU) 管理流中获取最新的 PowerShell 7 更新。 有关详细信息,请参阅 PowerShell Microsoft 更新常见问题解答。
如果要升级到最新版本的 PowerShell 7,然后才能通过 Microsoft 更新提供,则应使用首次安装 PowerShell 时所用的相同安装方法。 较新版本的 PowerShell 7 取代了现有 PowerShell 7 版本。 PowerShell 的预览版本可以与 PowerShell 的非预览版本并行安装。 较新的预览版本将替换现有的以前的预览版本。
如果不确定 PowerShell 的安装方式,可以检查 $PSHOME 变量的值,该变量始终指向包含当前会话运行的 PowerShell 的目录。
- 如果值为
$HOME\.dotnet\tools,则 PowerShell 随 .NET 全局工具一起安装。 - 如果值是
$Env:ProgramFiles\PowerShell\7,则 PowerShell 作为 MSI 包安装,或用 WinGet 在具有 X86 或 x64 处理器的计算机上安装。 - 如果该值以
$Env:ProgramFiles\WindowsApps\开头,PowerShell 被作为 Microsoft 应用商店包 或通过 WinGet 安装在具有 ARM 处理器的计算机上。 - 如果该值是其他任何值,则可能表明 PowerShell 是作为 ZIP 包 安装的。
如果通过 MSI 包安装,该信息也会显示在 Programs 和 Features Control Panel中。
若要确定是否可以使用 WinGet 升级 PowerShell,请运行以下命令:
winget list --id Microsoft.PowerShell --upgrade-available
如果有可用的升级,输出会指示最新的可用版本。 使用以下命令通过 WinGet 升级 PowerShell:
winget upgrade --id Microsoft.PowerShell
卸载 PowerShell 7
卸载 PowerShell 7 的过程取决于使用的安装方法。
如果使用 WinGet 安装 PowerShell,请运行以下命令:
winget uninstall --id Microsoft.PowerShell如果使用 MSI 包安装了 PowerShell,则可以从 Programs 和 Features Control Panel卸载它。
如果使用 ZIP 包安装了 PowerShell,请删除解压缩文件的文件夹。
如果从 Microsoft 应用商店安装了 PowerShell,请打开 “开始 ”菜单并搜索
PowerShell 7。 从选项菜单中选择 “卸载 ”。如果将 PowerShell 安装为.NET全局工具,请运行以下命令:
dotnet tool uninstall --global PowerShell
支持的 Windows 版本
Microsoft支持 PowerShell,直到
.NET SDK 的 Docker 映像包含最新版本的 PowerShell。 这些映像可从 Microsoft工件注册表获取。
这些映像可能没有最新的安全更新。 Microsoft 建议将 OS 包更新到最新版本,以确保应用最新的安全更新。
这些映像用于测试目的。 如果你需要用于生产工作负载的 Docker 映像,则应该构建和维护自己的映像。
可通过运行 winver.exe 来检查所使用的版本。
支持的安装方法
Microsoft 支持本文档中的安装方法。 其他源可能会提供其他第三方安装方法。 尽管这些工具和方法可能有效,但 Microsoft 无法支持这些方法。
注释
本文中的安装命令适用于 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
在“发布”页的“资产”部分中可以找到每个包的下载链接。 由于“资产”部分可能处于折叠状态,因此可能需要单击展开它。