T The Triage ManualTechnical Guides for IT Emergencies
P2 · Endpoint & Device Management

WSUS / Intune Update Pipeline Stall — Failed Enablement Packages, IIS Pool Exhaustion, Component Store Corruption

Enterprise Windows Update distribution via WSUS or Microsoft Intune can fail entirely when the WSUS IIS application pool (WsusPool) exhausts its 1.8 GB default private memory limit, the Windows Update Agent component store (CBS/WinSxS) is corrupted, or Intune update ring policies conflict. Affected endpoints present as stuck in 'Downloading' or 'Pending Install', WSUS console shows clients in 'Failed' or 'Unknown' status, and Intune reports 'Not applicable' or 'Error' on the feature update monitoring blade. Resolution involves increasing WsusPool memory limits, resetting Windows Update client components (SoftwareDistribution rename, DISM/SFC repair), resolving Intune ring conflicts, and running WSUS database maintenance to clear catalogue fragmentation.

Indicators

Likely causes

Diagnostic steps

  1. Convert and review the Windows Update ETL log on the affected endpoint: `Get-WindowsUpdateLog -LogPath C:\Temp\WindowsUpdate.log` — then open C:\Temp\WindowsUpdate.log in a text editor or search for 'FAIL' or 'error'.
    Identifies the specific error code and exact failure point (download, staging, installation) in the Windows Update pipeline without guessing.
  2. Open Event Viewer on the affected client and navigate to Applications and Services Logs > Microsoft > Windows > WindowsUpdateClient > Operational. Filter for error-level events in the last 24–48 hours.
    Surfaces event-level detail including error codes, update KB numbers/GUIDs, and failure phases without requiring ETL conversion — faster for initial triage.
  3. On the WSUS server, open IIS Manager > Application Pools > WsusPool > Advanced Settings. Check 'Private Memory Limit (KB)' — if set to 1,843,200 (default ~1.8 GB) and the server manages a large catalogue, this is the crash trigger. Also verify WsusPool State is 'Started'.
    Determines whether IIS application pool memory exhaustion is causing HTTP 503 errors and client sync failures — the most common WSUS failure mode in large environments.
  4. On the affected client, verify Windows Update agent services are running: `Get-Service wuauserv, BITS, CryptSvc, msiserver | Select-Object Name, Status, StartType`. Confirm all are Running and set to Automatic.
    Rules out stopped or disabled update agent services (wuauserv, BITS, CryptSvc, msiserver) as the immediate cause before attempting component repair.
  5. In the Intune admin portal, navigate to Devices > Monitor > Feature Update Failures and review the per-device error report for affected endpoints. Note whether failure phase is 'OfferReady', 'Download', 'Install', or 'Commit'.
    Pinpoints whether the Intune failure is at policy delivery, update offer, download, or installation phase — determines whether the issue is server-side (ring policy) or client-side (component/disk).
  6. Verify the WSUS server URL configured via Group Policy: `gpresult /r` or check HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUServer and WUStatusServer registry values. Confirm the URL is reachable from the client: `Test-NetConnection -ComputerName <wsus-hostname> -Port 8530` (or 443 for SSL).
    Rules out stale or misconfigured GPO directing clients to an incorrect or unreachable WSUS endpoint — a common cause of 'Unknown' WSUS client status.
  7. Check available disk space on the system drive: `Get-PSDrive C | Select-Object Used, Free`. Confirm at least 10 GB free. If low, identify large consumers: `Get-ChildItem C:\Windows\SoftwareDistribution -Recurse | Measure-Object -Property Length -Sum`.
    Insufficient disk space silently fails update staging — must be ruled out before component repair steps that require temporary additional space.

Resolution path

Prevention

Tools

References

wsusintunewindows-updateupdate-managementenablement-packagepatch-managementwindows-10windows-11windows-serveriisbitscomponent-storedismsoftware-distributionfeature-updatewsusp​oolsusdbupdate-ring