PowerShell 7.6 LTS 发布:全面拥抱 .NET 10,附安装升级指南

d2b5ca33bd20260322163741

 

PowerShell 7.6 LTS 长期支持版正式发布!作为底层架构的重大迭代,新版本全面基于 .NET 10 构建,进一步深化了与最新 .NET 生态的深度协同。
  • 新版本将重心放在了「稳」字上,全面提升了引擎底层、核心模块与交互式 Shell 的运行可靠性。开发团队不仅修复了大量历史遗留问题,还大幅优化了跨平台行为的一致性。
  • 本次更新的核心优化方向包括:模块升级、引擎稳定性修复、原生命令增强、Tab自动补全逻辑优化,以及与 .NET 10 步调一致的依赖项更新。

作为最新的 LTS 长期支持版本,PowerShell 7.6 是企业级生产和自动化环境的首选推荐版本。

PowerShell 7.6 LTS 主要更新

1. 核心模块升级

同步升级了多款关键内置模块,具体包括:

  • PSReadLine
  • Microsoft.PowerShell.PSResourceGet
  • Microsoft.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. 实验特性正式转正

经过充分的社区测试,以下特性现已正转为正式的主流功能:

  • PSFeedbackProvider
  • PSNativeWindowsTildeExpansion
  • PSRedirectToVariable
  • PSSubsystemPluginModel

破坏性变更

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

d2b5ca33bd20260322163801

 

通过 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
喜欢就支持一下吧
点赞7赞赏 分享