当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 7.2 中的新增功能

作者:精品下载站 日期:2024-12-14 03:00:53 浏览:13 分类:玩电脑

PowerShell 7.2 中的新增功能


PowerShell 7.2 是基于 .NET 6.0 构建的下一个长期服务 (LTS) 版本。

PowerShell 7.2 包含以下功能、更新和重大更改。

  • 适用于大多数受支持的 Linux 发行版的新通用安装程序包
  • Windows 上的 Microsoft 更新支持
  • 2个新的实验特性

    • 改进了本机命令参数传递支持
  • ANSI 文件信息颜色支持
  • 改进的选项卡补全
  • 具有预测性 IntelliSense 的 PSReadLine 2.1
  • 7 个实验性功能提升为主流,1 个被删除
  • 将 DSC 与 PowerShell 7 分离以实现未来的改进
  • 几项重大更改可提高可用性
  • 有关更改的完整列表,请参阅 GitHub 存储库中的更改日志。

    安装更新

    检查您的首选操作系统的安装说明:

    • Windows
    • macOS
    • Linux

    此外,PowerShell 7.2支持ARM64版本的Windows和macOS以及ARM32和ARM64版本的Debian和Ubuntu。

    有关支持的操作系统和支持生命周期的最新信息,请参阅 PowerShell 支持生命周期。

    适用于 Linux 发行版的新通用安装包

    之前,我们为 CentOS、RHEL、Debian 和 Ubuntu 的每个受支持版本创建了单独的安装程序包。通用安装程序包将八个不同的包合二为一,使 Linux 上的安装更加简单。通用包为目标发行版安装必要的依赖项,并创建特定于平台的更改以使 PowerShell 正常工作。

    Microsoft 更新对 Windows 的支持

    PowerShell 7.2 添加了对 Microsoft 更新的支持。启用此功能后,您将在传统的 Windows Update (WU) 管理流程中获取最新的 PowerShell 7 更新,无论是使用适用于企业的 Windows Update、WSUS、SCCM 还是“设置”中的交互式 WU 对话框。

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

    • USE_MU - 该属性有两个可能的值:

      • 1(默认)- 选择通过 Microsoft Update 或 WSUS 进行更新
    • 0 - 不要选择通过 Microsoft Update 或 WSUS 进行更新
  • ENABLE_MU

    • 1(默认)- 选择使用 Microsoft Update 自动更新或 Windows Update
  • 0 - 不要选择使用 Microsoft Update 自动更新或 Windows Update
  • 实验特点

    以下实验性功能现已成为此版本中的主流功能:

    • Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck - 请参阅 Import-PowerShellDataFile
    Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
  • PSAnsiRendering - 请参阅 about_ANSI_Terminals
  • PSAnsiProgress - 请参阅 about_ANSI_Terminals
  • PSCultureInvariantReplaceOperator
    PSNotApplyErrorActionToStderr
    PSUnixFileStat

    此版本中添加了以下实验性功能:

    • PSNativeCommandArgumentPassing - 启用此实验性功能后,PowerShell 使用 StartProcessInfo 对象的 ArgumentList 属性,而不是我们当前在调用本机可执行文件时重建字符串的机制。此功能添加了一个新的自动变量 $PSNativeCommandArgumentPassing,允许您在运行时选择行为。

    • PSAnsiRenderingFileInfo - 允许文件信息的 ANSI 颜色自定义。

    • PSLoadAssemblyFromNativeCode - 公开 API 以允许从本机代码加载程序集。

    有关实验功能的更多信息,请参阅使用实验功能。

    改进的选项卡补全

    PowerShell 7.2 对制表符补全进行了多项改进。这些更改包括错误修复和提高可用性。

    • 修复未本地化 about* 主题的选项卡补全 (#15265)(感谢 @MartinGC94)
    • 修复在补全中将 splatting 视为位置参数的问题 (#14623)(感谢 @MartinGC94)
    • 添加基于评论的帮助关键字的补全 (#15337)(感谢 @MartinGC94)
    • 添加 Requires 语句的补全 (#14596)(感谢 @MartinGC94)
    • 为 Format-* cmdlet 的 View 参数添加了制表符补全 (#14513)(感谢 @iSazonov)

    PSReadLine 2.1 预测智能感知

    PSReadLine 2.1 引入了 CommandPrediction API,该 API 建立了一个框架,用于提供命令行完成的预测。该 API 使用户能够根据用户历史记录中的匹配预测来发现、编辑和执行完整命令。

    默认情况下,预测式 IntelliSense 处于禁用状态。要启用预测,请运行以下命令:

    Set-PSReadLineOption -PredictionSource History
    

    将 DSC 与 PowerShell 7 分离以实现未来的改进

    PSDesiredStateConfiguration 模块已从 PowerShell 7.2 包中删除,现已发布到 PowerShell 库。这使得 PSDesiredStateConfiguration 模块可以独立于 PowerShell 进行开发,并且用户可以针对其环境混合搭配 PowerShell 和 PSDesiredStateConfiguration 的版本。要从 PowerShell 库安装 PSDesiredStateConfiguration 2.0.5:

    Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99
    

    这很重要

    请务必包含参数 MaximumVersion,否则您可以安装包含显着差异的 PSDesireStateConfiguration 版本 3(或更高版本)。

    引擎更新

    • 添加 LoadAssemblyFromNativeMemory 函数,通过 awakecoding 从本机 PowerShell 主机加载内存中的程序集 · Pull Request #14652

    重大变化和改进

    • PSDesiredStateConfiguration 已从 PowerShell 7.2 包中删除
    • 使 PowerShell Linux deb 和 RPM 包通用 (#15109)
    • 实验功能 PSNativeCommandArgumentPassing:使用 ArgumentList 进行本机可执行文件调用 (#14692)
    • 确保为脚本 cmdlet 的所有输出设置 -PipelineVariable (#12766)
    • 如果 ConvertTo-Json 超过 -Depth 值,则发出警告 (#13692)
    • 删除 -Directory 开关 CL-General 的别名 D #15171
    • 改进对可变值类型的检测 (#12495)
    • 在锁定状态下限制 NoLanguage 模式下的 New-Object (#14140)
    • 在执行策略绕过配置之前强制执行 AppLocker 拒绝配置 (#15035)
    • FileSystemInfo.TargetCodeProperty 更改为指向 FileSystemInfo.LinkTargetAliasProperty (#16165)

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯