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 UpdatedMarch 2026
Applies ToWindows 10, Windows 11
Tools Usedwusa.exe, DISM, PSWindowsUpdate module
DifficultyBeginner 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 TypeRemovable?Notes
Quality / Security updates (KB5xxx)✅ YesStandard method — wusa or DISM
Cumulative updates (combined SSU+LCU)⚠️ PartialUse DISM with package name, not wusa
Servicing Stack Updates (SSU)❌ NoPermanently integrated — cannot be removed
Feature updates (e.g. 24H2)⚠️ 10-day window onlyRollback available only within 10 days of install
Defender definition updates❌ NoReplaced 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

ErrorMeaningFix
0x80073712Component store corruptionRun: dism /online /cleanup-image /restorehealth, then retry
0x800f0905Update in partially installed state or metadata missingRun DISM repair first, then use Remove-WindowsPackage
0x800f0825Update superseded — never fully committedCannot be removed; use DISM repair to clean up
-2145124318 (PSWindowsUpdate)Update marked as non-removableUse Hide-WindowsUpdate to block reinstallation instead
wusa says “not applicable”Combined SSU+LCU package — wusa cannot handle itSwitch 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_QuickFixEngineering or Get-WUHistory
  • Use wusa /uninstall /kb:XXXXX /quiet /norestart for 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