Sometimes, after you install a Windows update, you might find that the operating system, a particular program, or a driver stops working or causes conflicts. In this case, you must uninstall the update causing the problem and block it from re-installation. In this article, we explain how to temporarily pause update installations in Windows and how to completely block an unwanted update by hiding it from the Windows Update service.
Using the Microsoft Show and Hide Updates Tool
If you have already installed an unwanted update causing the problem, you can remove it by going to Settings -> Windows Update -> View Update History -> Uninstall updates. Click on the update in the list and select Uninstall.
You can also remove the update by using the command prompt. Use the PowerShell command to list updates sorted by installation date:
Get-HotFix | Sort-Object -Property InstalledOn -Descending
Find the update number in the list (KBxxxxx) and delete it by KB ID:
wusa /uninstall /kb:5048161
However, after a while, Windows Update will automatically attempt to reinstall the update you removed (Windows Update Group Policy can override automatic installation settings).
To completely block a specific update from the Windows Update service, you can use the official Microsoft ‘Show or Hide Updates’ tool (wushowhide.diagcab
).
- Download the Show or hide utility from the Microsoft website
- Run the wushowhide.diagcab
- Select Hide updates
- In the list, select the update(s) that you want to hide.
- The Windows Update service won’t attempt to install a hidden update until you make it visible.
To make the update available for installation, you need to select Show hidden updates in the wushowhide.diagcab utility and unhide the update.
Temporarily Pause Updates in Windows
In Windows 10 and 11, users can pause the installation of Windows updates for up to 35 days. This method is typically used when a bug has been discovered in a released update and you want to wait for a fix.
To pause the installation of updates for 7 days, click the Pause updates for 7 more days in Settings -> Windows Updates. You can pause updates 5 times for 7 days (for a total of 35 days). This should give Microsoft engineers enough time to confirm that the update has a widespread problem and either fix or recall it.
To find out the date on which the installation of the updates is delayed, you can use the PowerShell :
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings'| Select-Object PauseUpdatesExpiryTime
Or use a simple script to pause the update installation:
$pause = (Get-Date).AddDays(35)
$pause = $pause.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' -Name 'PauseUpdatesExpiryTime' -Value $pause
This extends the update pause to a maximum of 35 days.
Block the Installation of Certain Windows Updates Using PowerShell
To block a specific update from being installed in Windows, you use the PowerShell cmdlets provided by the PSWindowsUpdate module. Install the module on the computer if it is not already installed:
Install-Module -Name PSWindowsUpdate
Restart the PowerShell console, and then allow the module cmdlets to run in the current session (to avoid changing the global PowerShell Execution Policy settings):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
List the updates that are available for installation:
Get-WindowsUpdate
To hide a specific update, specify its number (KB) in the following command:
Hide-WindowsUpdate -KBArticleID KB5048652 -Verbose
Hidden updates will not be displayed in the list of available updates when scanning with the Get-WindowsUpdate command. To view hidden updates, run:
Get-WindowsUpdate -IsHidden
Hidden updates in the Status column have an H (hidden) attribute.
To unhide updates and allow them to be installed, run
Show-WindowsUpdate -KBArticleID KB5048652
Users often need to block the installation of certain device driver updates (and prevent Windows from automatically updating this device driver). However, if you use Get-WindowsUpdate
to list available updates, you will see that driver updates are missing a KB number. In this case, you can block the driver from updating by its ID:
$Updates = Get-WindowsUpdate -WindowsUpdate -UpdateType Driver
$Updates | Select Title,Description -Expand Identity
Copy the update IDs from the results and hide the driver update by its ID:
Hide-WindowsUpdate -UpdateID "3f6ba9a7-b031-4990-808f-69a9e1ef6a91"