A problematic Windows update can break printing, cause audio issues, or introduce new bugs — and knowing how to remove it quickly is a core skill for any Windows administrator. This guide covers every available method in 2026, including important limitations that have changed with modern cumulative updates on Windows 11.
| Detail | |
|---|---|
| Last Updated | March 2026 |
| Applies To | Windows 10, Windows 11 |
| Tools Used | wusa.exe, DISM, PSWindowsUpdate module |
| Difficulty | Beginner to Intermediate |
What Can and Cannot Be Uninstalled
Before reaching for PowerShell, it helps to understand what Microsoft actually allows you to remove — because not all updates are equal:
| Update Type | Removable? | Notes |
|---|---|---|
| Quality / Security updates (KB5xxx) | ✅ Yes | Standard method — wusa or DISM |
| Cumulative updates (combined SSU+LCU) | ⚠️ Partial | Use DISM with package name, not wusa |
| Servicing Stack Updates (SSU) | ❌ No | Permanently integrated — cannot be removed |
| Feature updates (e.g. 24H2) | ⚠️ 10-day window only | Rollback available only within 10 days of install |
| Defender definition updates | ❌ No | Replaced automatically, not removable |
An important change since 2021: modern cumulative updates bundle the Servicing Stack Update (SSU) and the Latest Cumulative Update (LCU) into a single package. Because of this, wusa.exe /uninstall no longer works for these combined packages on Windows 11. You need DISM instead — covered in Method 2 below.
Step 1: Find the KB Number to Remove
First, identify the exact KB number of the update you want to remove. List all installed updates sorted by date:
# List all installed updates, most recent first
Get-CimInstance -ClassName Win32_QuickFixEngineering |
Sort-Object InstalledOn -Descending |
Select-Object HotFixID, Description, InstalledOn |
Format-Table -AutoSize
If you know the approximate date the problematic update was installed, you can filter by date:
# Filter updates installed on a specific date (adjust date format to match your locale)
Get-CimInstance -ClassName Win32_QuickFixEngineering |
Where-Object { $_.InstalledOn -match "3/11/2026" } |
Select-Object HotFixID, Description, InstalledOn
Method 1: Uninstall via wusa.exe (Quality Updates)
For standard quality and security updates, wusa.exe is the quickest method. Run PowerShell as Administrator:
# Interactive — shows a confirmation dialog
wusa /uninstall /kb:5048667
# Silent — no dialog, restarts automatically if required
wusa /uninstall /kb:5048667 /quiet /norestart
The /quiet flag suppresses the confirmation dialog and is useful for scripted removal across multiple machines. The /norestart flag prevents an immediate reboot — remember to restart the device afterwards to complete removal.
If wusa returns an error or reports that the update cannot be uninstalled, the update is either a combined SSU+LCU package or a servicing stack update. In that case, use Method 2.
Method 2: Uninstall via DISM (Cumulative Updates, Windows 11)
For combined cumulative update packages on Windows 11 — where wusa fails — use DISM with the full package name. First, find the exact package identity:
# List all installed packages and filter by KB number
dism /online /get-packages | Select-String "KB5048667"

Copy the full package identity string from the output (it looks like Package_for_RollupFix~31bf3856ad364e35~amd64~~26100.2314.1.10), then remove it:
# Remove by full package name — replace with your actual package identity
dism /online /remove-package /packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~~26100.2314.1.10 /norestart
Alternatively, use the PowerShell Remove-WindowsPackage cmdlet which wraps DISM:
Remove-WindowsPackage -Online -NoRestart -PackageName "Package_for_RollupFix~31bf3856ad364e35~amd64~~26100.2314.1.10"
Method 3: Using the PSWindowsUpdate Module
The PSWindowsUpdate module provides a cleaner PowerShell-native interface for update management, including removal. Install it first if you haven’t already:
Install-Module -Name PSWindowsUpdate -Force -Scope CurrentUser
List the 10 most recently installed updates to identify the one you want to remove:
Get-WUHistory | Select-Object -First 10 |
Select-Object KB, Title, OperationName, Date, Result |
Format-Table -AutoSize
Remove the update by KB number:
Remove-WindowsUpdate -KBArticleID KB5048667 -Confirm:$false -Verbose
If Remove-WindowsUpdate returns error code -2145124318, the update cannot be removed. In that case you can hide it to prevent automatic reinstallation:
Hide-WindowsUpdate -KBArticleID KB5048667
Method 4: Bulk Removal by Date (Scripted)
If you need to remove all updates installed on a specific date — for example after a Patch Tuesday that caused widespread issues — use this approach:
$targetDate = "3/11/2026"
Get-CimInstance -ClassName Win32_QuickFixEngineering |
Where-Object { $_.InstalledOn -match $targetDate } |
ForEach-Object {
$kb = $_.HotFixID.Substring(2) # Strip the "KB" prefix
Write-Host "Removing KB$kb..."
Start-Process "wusa.exe" -ArgumentList "/uninstall /kb:$kb /quiet /norestart" -Wait
}
Restart the device after the script completes to finalise all removals.
Prevent the Update from Reinstalling
After removing a problematic update, Windows Update will typically reinstall it at the next update cycle. To temporarily block this:
Option A: Pause Windows Updates
The quickest option — pause updates for up to 5 weeks via Settings or PowerShell:
# Pause Windows Update for 5 weeks (35 days from today)
$pauseDate = (Get-Date).AddDays(35).ToString("yyyy-MM-ddTHH:mm:ssZ")
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" `
-Name "PauseUpdatesExpiryTime" -Value $pauseDate
Option B: Hide the Update (PSWindowsUpdate)
# Hide a specific KB from being offered by Windows Update
Hide-WindowsUpdate -KBArticleID KB5048667 -Confirm:$false
Option C: Block via WUFB Policy (Enterprise / Intune)
In a managed environment, use Windows Update for Business deferral rings or the Intune Update rings policy to delay the update across your fleet while Microsoft investigates. This is the cleanest enterprise approach and does not require touching individual devices.

Troubleshooting Common Errors
| Error | Meaning | Fix |
|---|---|---|
| 0x80073712 | Component store corruption | Run: dism /online /cleanup-image /restorehealth, then retry |
| 0x800f0905 | Update in partially installed state or metadata missing | Run DISM repair first, then use Remove-WindowsPackage |
| 0x800f0825 | Update superseded — never fully committed | Cannot be removed; use DISM repair to clean up |
| -2145124318 (PSWindowsUpdate) | Update marked as non-removable | Use Hide-WindowsUpdate to block reinstallation instead |
| wusa says “not applicable” | Combined SSU+LCU package — wusa cannot handle it | Switch to DISM method with full package name |
If DISM commands fail due to component store corruption, repair it first:
# Repair the component store before retrying update removal
dism /online /cleanup-image /restorehealth
sfc /scannow
Summary
Update removal on Windows 10 and 11 is more nuanced than it used to be, primarily because modern cumulative updates bundle the servicing stack — making wusa.exe insufficient for many Windows 11 scenarios. Use the right tool for the update type: wusa for simple quality updates, DISM for combined cumulative packages, and PSWindowsUpdate for a cleaner scripting experience with better error reporting.
- Identify the KB number first using
Get-CimInstance Win32_QuickFixEngineeringorGet-WUHistory - Use
wusa /uninstall /kb:XXXXX /quiet /norestartfor standard quality updates - Use DISM with the full package name for combined SSU+LCU packages on Windows 11
- After removal, pause updates or use Hide-WindowsUpdate to prevent automatic reinstallation
- Servicing Stack Updates and Defender definition updates cannot be removed — this is by design
