适用于 PowerShell 的 Microsoft 更新常见问题解答

从 PowerShell 7.2 开始,使用 MSI 包进行安装时,可以选择为 PowerShell 启用 Microsoft 更新支持。

常规信息

什么是 PowerShell 的 Microsoft 更新功能?

使用 PowerShell 的 Microsoft 更新功能,可以在传统 Microsoft 更新 (MU) 管理流中获得最新的 PowerShell 7 更新,无论是包含适用于企业的 Windows 更新、WSUS、Microsoft Endpoint Configuration Manager,还是包含设置中的交互式 MU 对话框。 通过 Microsoft 更新和相关服务,可以按以下节奏部署更新:

  • 按计划
  • 在测试环境之后
  • 在整个企业中大规模部署

Microsoft 更新在发布后多久会公布更新?

新版本的 PowerShell 发布后,最多可能需要两周时间才能通过 Microsoft 更新提供。 更新作为可选软件更新提供,即使更新包含安全修补程序也是一样。

如果你需要在 Microsoft 更新中提供之前部署更新,请从 GitHub 上的发布页下载该更新。

我还在使用 PowerShell 7.2,为什么没有升级到 7.3?

适用于 PowerShell 的 Microsoft 更新功能仅更新同一发布通道中的版本。 PowerShell 7.2 是长期支持的 (LTS) 最新版本。 PowerShell 7.3 是最新的稳定 (非 LTS) 版本。 Microsoft 更新会自动更新到 7.2 和 7.3 的下一个修补程序级别版本。 例如,7.2.x 更新到 7.2.y,7.3.x 更新到 7.3.y。 有关支持生命周期的详细信息,请参阅 PowerShell 支持生命周期

配置

需要哪个版本的 Windows 才能支持 Microsoft 更新功能?

必须在基于 x64 的系统上安装 Windows 版本 1709 或更高版本。 版本 1709 是 Windows 10 Fall Creators Update 或 Windows Server 2016 的 10 月更新版本。 1709 之前的版本不支持适用于 PowerShell 的 Microsoft 更新。

是否需要在“设置”对话框中选中这两个框?

虽然对话框中的两个选项是独立的,但在大多数情况下,最好同时选中两个框。

PowerShell 设置 -“Microsoft 更新”对话框

每个复选框有什么作用?

第一个复选框用于启用 PowerShell 更新。 这些更新可以由 Microsoft 更新、WSUS 服务器或 SCCM 提供。 如果未选中该复选框,将无法通过这些通道中的任一一种接收更新。

第二个复选框用于在系统上启用 Microsoft 更新。 这样,就可以接收任何受支持的 Microsoft 软件(而不仅仅是 Windows)的更新。 如果未选中该框,将不会从 Microsoft 更新接收更新,但可以从 WSUS 或 SCCM 接收更新。

如果以后想要选择退出,我该怎么办?

如果以后想要选择退出更新,可以运行 MSI 安装包并取消选中第一个复选框。 取消选中第二个复选框不起作用。

是否可以通过命令行或在脚本中启用这些更新选项?

可以。 MSI 包包含两个用于启用更新功能的新 MSI 选项:

  • USE_MU - 该属性有两个可能值:
  • 1(默认)- 选择加入通过 Microsoft 更新、WSUS 或 SCCM 进行更新
  • 0 - 不选择通过 Microsoft 更新、WSUS 或 SCCM 进行更新
  • ENABLE_MU
    • 1(默认)- 选择加入使用 Microsoft 更新进行自动更新
    • 0 - 不选择加入使用 Microsoft 更新。

备注

设置 ENABLE_MU=0 不会禁用 Microsoft 更新。

故障排除

我还没有收到新版本的更新。 为什么看不到?

未收到更新可能有多种原因:

  • 我们可能尚未发布更新。 我们的目标是在发布后的两周内将更新提供给 Microsoft 更新,但不保证该更新可供使用。

  • 存在用于控制 Microsoft 更新的组策略设置。 系统管理员可能设置了阻止使用 Microsoft 更新的策略。 安装程序中的复选框不能替代组策略。

  • 请确保已选中这两个复选框。 执行修复安装时,安装程序不会显示复选框选项。 若要启用 MU 更新,请运行以下命令:

    msiexec.exe /fmu .\PowerShell-7.4.1-win-x64.msi USE_MU=1 ENABLE_MU=1
    

    有关从命令行运行 msiexec.exe 的详细信息,请参阅 msiexec