PowerShell 7.5 中的新增功能

PowerShell 7.5-preview.3 包括以下功能、更新和中断性变更。 PowerShell 7.5 基于 .NET 9.0.0-preview.3 构建。

有关更改的完整列表,请参阅 GitHub 库中的更改日志

重大更改

  • 修复在使用 PathTypeTest-Path-OlderThan-NewerThan 参数和日期范围 (#20942)(感谢 @ArmaanMcleod!)
    • 以前,如果一起指定,将忽略 -OlderThan
  • New-FileCatalog -CatalogVersion 默认值更改为 2 (#20428)(感谢 @ThomasNieto!)
  • 阻止在受限远程处理会话中从网络位置获取帮助 (#20593)
  • Windows 安装程序现在记住使用的安装选项,并使用这些选项来初始化用于下一次安装的选项 (#20420)(谢谢 @reduckted!)
  • ConvertTo-Json 现在将 BigInteger 序列化为数字 (#21000)(谢谢 @jborean93!)

更新的模块

PowerShell 7.5-preview.3 包含以下更新的模块:

  • Microsoft.PowerShell.PSResourceGet v1.0.5
  • PSReadLine v2.3.4

Tab 自动补全改进

非常感谢 @ArmaanMcleod 和其他人在改进选项卡补全方面的所有贡献。

  • 当无法从安全表达式检索哈希表键值时回退到类型推理 (#21184)(谢谢 @MartinGC94!)
  • $_ 进行类型推理时修复回归 (#21223)(谢谢 @MartinGC94!)
  • 使用 Tab 自动补全在 Windows 上将 ~ 展开到 $home (#21529)
  • 不要在声明参数名称和类成员时完成 (#21182)(谢谢 @MartinGC94!)
  • 当选项卡补全类型名称时防止回退到文件补全 (#20084)(感谢 @MartinGC94)
  • Set-StrictMode 添加参数补全器到 -Version (#20554)(感谢 @ArmaanMcleod!)
  • Get-Verb/ Get-Command 和重构 Get-Verb 添加 -Verb 参数补全器 (#20286)(感谢 @ArmaanMcleod)
  • Start-Process 添加 -Verb 参数补全器 (#20415)(感谢 @ArmaanMcleod)
  • *-Variable*-Alias*-PSDrive 命令添加 -Scope 参数补全器 (#20451)(感谢 @ArmaanMcleod)
  • Save-Help/Update-Help命令添加 -Module 补全 (#20678)(感谢 @ArmaanMcleod)

Web Cmdlet 的改进

  • 修复指定 -Resume 时报告正确大小的 Invoke-WebRequest (#20207)(感谢 @LNKLEO!)
  • 修复 Web Cmdlet 以允许 WinForm 应用正常工作 (#20606)

其他 cmdlet 改进

  • Get-Process:删除 -IncludeUserName 的管理员要求 (#21302)(谢谢 @jborean93!)
  • 修复 Test-Path -IsValid 以检查无效的路径和文件名字符 (#21358)
  • RecommendedAction 添加到错误报告的 ConciseView (#20826)(谢谢 @JustinGrote!)
  • Remove-Item cmdlet 添加了进度栏 (#20778)(谢谢 @ArmaanMcleod!)
  • 修复 .NET 8 更改导致的 Test-Connection (#20369)
  • 修复 Get-Service 非终止错误消息以包括类别 (#20276)
  • -Empty-InputObject 参数添加到 New-Guid (#20014)(感谢 @CarloToso!)
  • 将别名 r 添加到 Get-ChildItem 命令的参数 -Recurse (#20100)(感谢 @kilasuit!)
  • 为仍然缺少别名的函数将 LP 添加到 LiteralPath 别名 (#20820)
  • 将隐式本地化回退添加到 Import-LocalizedData (#19896)(感谢 @chrisdent-de!)
  • Aliases 添加到在对 Get-Help 所返回参数的帮助内容格式化时显示的属性 (#20994)
  • HelpUri 添加到 Remove-Service (#20476)
  • 修复 SCCM 提供程序的完成崩溃(#20815、#20919、#20915)(感谢 @MartinGC94!)
  • 修复在 -Tail 0-Wait 一起使用时 Get-Content 中的回归 (#20734)(感谢 @CarloToso!)
  • 修复 Start-Process -PassThru 以确保返回的 Process 对象可访问 ExitCode 属性 (#20749)(感谢 @CodeCyclone!)
  • 修复 Group-Object 以对其输出使用当前区域性 (#20608)
  • 修复使用内插字符串的 Group-Object 输出 (#20745)(感谢 @mawosoft!)
  • 修复网络 PSDriveDisplayRoot 呈现问题 (#20793)
  • 修复 Copy-Item 进度,仅在复制完所有文件时显示已完成 (#20517)
  • 修复 UNC 路径完成回归 (#20419)(感谢 @MartinGC94!)
  • 无效的 -ExecutionPolicy 传递给 pwsh 时将报告错误 (#20460)
  • 添加 WinGetCommandNotFound 和 CompletionPredictor 模块来跟踪使用情况 (#21040)
  • 将 DateKind 参数添加到 ConvertFrom-Json (#20925)(感谢 @jborean93!)
  • 将 DirectoryInfo 添加到 New-Item 的 OutputType (#21126)(感谢 @MartinGC94!)
  • 修复数组值的 1 个序列化 (#21085)(感谢 @jborean93!)

引擎改进

  • 添加遥测以在导入模块时检查特定标记 (#20371)
  • PSAdapterConsoleGuiTools 添加到模块加载遥测允许列表 (#20641)
  • 添加 Winget 模块以跟踪使用情况 (#21040)
  • 记录 WDAC ETW 事件时确保文件名不为 null (#20910)(感谢 @jborean93!)
  • 修复 WDAC 日志记录功能引入的四个回归 (#20913)
  • 在未重定向输入、输出和错误时保留输入、输出和错误句柄未设置 (#20853)
  • 修复隐式远程处理代理 cmdlet 以处理常见参数 (#20367)
  • 找不到模块时在错误消息中包含模块版本 (#20144)(感谢 @ArmaanMcleod!)
  • 修复当文件不是可执行文件时处理 setuidstickyunixmode (#20366)
  • 修复在构造程序集路径时利用程序集来使用 Path.Combine 的问题 (#21169)
  • 在语义检查期间验证用于命名空间的值,以防止声明无效的命名空间 (#21162)

实验性功能