如何隐藏(阻止)特定的 Windows 更新

Jacki

有时,安装 Windows 更新后,您可能会发现操作系统、特定程序或驱动程序停止工作或导致冲突。在这种情况下,您必须卸载导致问题的更新并阻止其重新安装。在本文中,我们将介绍如何暂时暂停 Windows 中的更新安装,以及如何通过在 Windows 更新服务中隐藏不需要的更新来完全阻止该更新。

内容:

使用 Microsoft 显示和隐藏更新工具

如果您已经安装了导致问题的不需要的更新,您可以通过以下方式将其删除:设置->Windows更新->查看更新历史->卸载更新。单击列表中的更新并选择卸载

您还可以使用命令提示符删除更新。使用 PowerShell 命令列出按安装日期排序的更新:

Get-HotFix | Sort-Object -Property InstalledOn -Descending

在列表中找到更新号(KBxxxxx)并按KB ID删除:

wusa /uninstall /kb:5048161

但是,一段时间后,Windows Update 将自动尝试重新安装您删除的更新(Windows Update 组策略可以覆盖自动安装设置)。

要完全阻止来自 Windows Update 服务的特定更新,您可以使用 Microsoft 官方“显示或隐藏更新”工具(wushowhide.diagcab)。

有关的:如何在 Windows 10 中隐藏或阻止特定 WiFi 网络

  1. 下载显示或隐藏实用程序来自微软网站
  2. 运行wushowhide.diagcab
  3. 选择隐藏更新
  4. 在列表中,选择您要隐藏的更新。
  5. Windows Update 服务不会尝试安装隐藏的更新,除非您将其设置为可见。

要使更新可供安装,您需要选择显示隐藏的更新在 wushowhide.diagcab 实用程序中并取消隐藏更新。

如果您安装了 WSUS 更新服务器,则可以使用批准移除选项来阻止安装特定更新,甚至自动从已安装的计算机上卸载它。有关更多详细信息,请参阅文章批准 WSUS 更新。

在 Windows 10 和 11 中,用户最多可以暂停安装 Windows 更新 35 天。当在已发布的更新中发现错误并且您想要等待修复时,通常使用此方法。

要暂停安装更新 7 天,请单击暂停更新7天设置->Windows 更新。您可以在 7 天内暂停更新 5 次(总共 35 天)。这应该给微软工程师足够的时间来确认更新存在广泛的问题,并修复或召回它。

要查明更新安装延迟的日期,您可以使用 PowerShell :

Get-ItemProperty -Path 'HKLM:SOFTWAREMicrosoftWindowsUpdateUXSettings'| Select-Object PauseUpdatesExpiryTime

或者使用简单的脚本来暂停更新安装:

$pause = (Get-Date).AddDays(35)
$pause = $pause.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
Set-ItemProperty -Path 'HKLM:SOFTWAREMicrosoftWindowsUpdateUXSettings' -Name 'PauseUpdatesExpiryTime' -Value $pause

这会将更新暂停时间延长至最长 35 天。

使用 PowerShell 阻止安装某些 Windows 更新

要阻止在 Windows 中安装特定更新,请使用 PSWindowsUpdate 模块提供的 PowerShell cmdlet。如果尚未安装该模块,请在计算机上安装该模块:

Install-Module -Name PSWindowsUpdate

重新启动 PowerShell 控制台,然后允许模块 cmdlet 在当前会话中运行(以避免更改全局 PowerShell 执行策略设置):

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

列出可安装的更新:

Get-WindowsUpdate

要隐藏特定更新,请在以下命令中指定其编号 (KB):

Hide-WindowsUpdate -KBArticleID KB5048652 -Verbose

使用 Get-WindowsUpdate 命令扫描时,隐藏的更新不会显示在可用更新列表中。要查看隐藏的更新,请运行:

Get-WindowsUpdate -IsHidden

状态列中的隐藏更新有一个H(隐藏)属性。

要取消隐藏更新并允许安装它们,请运行

Show-WindowsUpdate -KBArticleID KB5048652

用户经常需要阻止安装某些设备驱动程序更新(并阻止 Windows 自动更新此设备驱动程序)。但是,如果您使用Get-WindowsUpdate要列出可用更新,您将看到驱动程序更新缺少 KB 编号。在这种情况下,您可以通过驱动程序 ID 阻止更新:

$Updates = Get-WindowsUpdate -WindowsUpdate -UpdateType Driver
$Updates | Select Title,Description -Expand Identity

从结果中复制更新 ID 并按 ID 隐藏驱动程序更新:

Hide-WindowsUpdate -UpdateID "3f6ba9a7-b031-4990-808f-69a9e1ef6a91"