If you’re experiencing problems or errors on a computer after installing Windows updates, you might want to uninstall a specific update or all recently installed updates to help resolve the problem. Let’s look at how to remove installed updates in Windows from the command line or PowerShell.
How to Uninstall a Specific Windows Update from the Command Prompt
To list the installed updates from the command line, use the wmic command:
wmic qfe list brief /format:table
The command output includes update numbers (KB, HotFixID) and installation dates. To uninstall a specific update, copy its KB ID and run the command:
wusa /uninstall /kb:5048667
Confirm the update removal.
When an update is successfully removed, an event from WUSA with Event ID 7 will appear in the Setup log in Event Viewer:
Windows update "Security Update for Microsoft Windows (KB5048667)" was successfully uninstalled. (Command line: ""C:\Windows\system32\wusa.exe" /uninstall /kb:5048667")
To prevent Windows from trying to reinstall an update that has been removed, you can pause updates for up to 35 days.
In previous versions of Windows, the wusa command could be used to silently uninstall updates in the background, without prompting, and with a delayed reboot. The following command has been used:
wusa.exe /uninstall /KB:5048161 /norestart /quiet
However, the background update uninstall mode has been disabled since Windows 10 1507. The /quiet parameter is now ignored by the wusa.exe command. In this case, an error with event ID 8 will appear in the Event Viewer log:
Windows update could not be uninstalled because of error 2147942487 "The parameter is incorrect." (Command line: ""C:\Windows\system32\wusa.exe" /uninstall /KB:5048161 /norestart /quiet")
Uninstall Recent Windows Updates Using PowerShell
You can use PowerShell for more flexibility when uninstalling updates. The following PowerShell command lists the installed Windows updates in order from the most recent to the oldest.
Get-CimInstance -ClassName Win32_QuickFixEngineering| select HotFixID, InstalledOn | sort InstalledOn -Descending
Or:
Get-HotFix | Select-Object HotFixID, InstalledOn, Description| sort InstalledOn -Desc
To remove all Windows updates that were installed on a specific date, use the following commands
$Update_Date="04/10/2025"
Get-CimInstance -ClassName Win32_QuickFixEngineering | ? InstalledOn -Match $Update_Date | %{start "wusa.exe" @("/uninstall", "/kb:$($_.HotFixID.Substring(2))") -Wait}
The PSWindowsUpdate PowerShell module can also be used to remove installed updates. Install the module on your computer:
Install-Module -Name PSWindowsUpdate
List the 10 most recently installed updates:
Get-WUHistory | Select-Object -First 10| select KB,OperationName,Date,Result,title|ft
To uninstall an update, enter the update KB number in the command (in this example, quiet mode is used with the confirmation prompt suppressed):
Remove-WindowsUpdate -KBArticleID KB5048667 -Confirm:$false -Verbose
-2145124318
, it means that such an update cannot be removed.To prevent this update from being installed automatically, you must hide it in Windows Update:
Hide-WindowsUpdate -KBArticleID KB5048667
If you want to uninstall an update on a remote computer, you can use:
- PSExec.exe tool:
psexec \\192.168.132.15 -u locadm -s cmd.exe /c "dism /online /remove-package /packagename:Package_for_DotNetRollup_481~31bf3856ad364e35~amd64~~10.0.9290.1 /quiet /norestart"
- or PowerShell Remoting:
Invoke-Command -ComputerName 192.168.132.15 -ScriptBlock { Remove-WindowsUpdate -UpdateID KB5048161 -Force -Confirm:$false }
Remove Update from a Windows Image with DISM (Remove-WindowsPackage)
An error may occur when removing some updates:
Windows Update Standalone Installer Servicing Stack 10.0.26100.2592 is required by your computer and cannot be uninstalled.
The point is that this is a Servicing Stack Update (SSU). Microsoft states that Servicing Stack Updates (SSUs) cannot be uninstalled once installed, because they are essential system components that are required for the successful installation of the Latest Cumulative Updates (LCU).
However, there is a workaround to uninstall the Latest Cumulative Update (LCU) even after the Servicing Stack Update (SSU) has been installed.
List the installed updates in the Windows image:
Get-WindowsPackage -Online | where ReleaseType -like "*Update*"|ft
To remove an update package from an image, copy its name and run the command:
Remove-WindowsPackage -Online -NoRestart -PackageName Package_for_RollupFix~31bf3856ad364e35~amd64~~26100.2314.1.10