
- 新版本将重心放在了「稳」字上,全面提升了引擎底层、核心模块与交互式 Shell 的运行可靠性。开发团队不仅修复了大量历史遗留问题,还大幅优化了跨平台行为的一致性。
- 本次更新的核心优化方向包括:模块升级、引擎稳定性修复、原生命令增强、
Tab自动补全逻辑优化,以及与 .NET 10 步调一致的依赖项更新。
作为最新的 LTS 长期支持版本,PowerShell 7.6 是企业级生产和自动化环境的首选推荐版本。
PowerShell 7.6 LTS 主要更新
1. 核心模块升级
同步升级了多款关键内置模块,具体包括:
PSReadLineMicrosoft.PowerShell.PSResourceGetMicrosoft.PowerShell.ThreadJob
2. Tab 自动补全体验跃升
开发者日常高频使用的Tab补全功能,迎来了多项细节优化:
- 改进了跨 Provider 的路径补全逻辑。
- 为多个 Cmdlet 参数新增了「属性值补全」支持。
- 拓宽了「补全功能」生效的上下文与作用域。
- 新增了按「模块短名称」进行智能补的全功能。
3. 命令功能增强
Get-Clipboard新增了-Delimiter参数。- 引入了
Register-ArgumentCompleter -NativeFallback参数,支持为「原生命令」注册全局兜底补全器。 - 在
New-Item命令中,将-Target视为 Literal 处理。 Get-Command新增了-ExcludeModule排除参数。- 大幅提升了
Start-Process -Wait的轮询效率。
4. 引擎底层优化
- 引入了
PSForEach()和PSWhere(),作为 PowerShell 内置Where()和Foreach()方法的原生别名。 - 在 Unix 平台上,将
SystemPolicy公共 API 设为可见但无操作状态,确保其可以顺利纳入PowerShellStandard.Library。 - 针对
X509Certificate2更新了DnsNameList,现在采用X509SubjectAlternativeNameExtension.EnumerateDnsNames()方法。 - 修复了控制台宿主的 stderr 输出逻辑,现已完美兼容
NO_COLOR环境变量。
5. 实验特性正式转正
经过充分的社区测试,以下特性现已正转为正式的主流功能:
PSFeedbackProviderPSNativeWindowsTildeExpansionPSRedirectToVariablePSSubsystemPluginModel
破坏性变更
PowerShell 7.6 引入了少量破坏性变更,开发者在升级时需要重点关注:
Join-Path命令的-ChildPath参数现已转换为string[]数组类型。可以直接传入包含多个子路径的数组,免去了使用-AdditionalChildPath的麻烦。WildcardPattern.Escape()现在能正确对孤立的「反引号」进行转义处理。- 移除了
GetHelpCommand追踪源名称末尾的冗余空格。
全新安装和升级 PowerShell 7.6
全新安装
PowerShell 7.6 拥有强大的跨平台基因,可以完美兼容 Windows 10/11、Windows Server、主流 Linux 发行版(Ubuntu、RHEL、Debian)和 macOS,极大简化了异构环境下的运维管理难题。
和 Windows 系统自带的老版本 Windows PowerShell 5.1 不同,PowerShell 7.6 采用了独立目录安装机制,两者互不干扰,可完美共存。
要在 Windows 环境下全新安装,只需以管理员身份打开「Windows 终端」或 PowerShell,执行以下命令:
winget source update
winget install --id Microsoft.PowerShell --source winget

通过 winget 安装最新版 PowerShell
平滑升级
如果你已经在使用早期版本的 PowerShell 7,推荐通过 winget 或 MSI 安装包进行升级。这 2 种方式都能完整保留你原有的配置和 Profile 脚本。
winget 和 MSI 安装的升级路径通常不共通,大多数情况下必须「一对一升级」。
方法 1:使用 winget 快速升级(推荐)
1检查当前 PowerShell 版本及可用更新:
$PSVersionTable.PSVersion
winget list --id Microsoft.PowerShell --upgrade-available
2刷新软件源目录并执行升级:
winget source update
winget upgrade --id Microsoft.PowerShell
方法 2:使用 MSI 安装包升级
对于不方便联网的内网设备,请前往 GitHub 官方发布页面,根据你的系统架构,下载对应的安装包进行离线安装。
© 版权声明
THE END












