UpdateWindows – Take Control of Windows Updates from the Command Line

Keeping Windows systems up to date is essential—but not always transparent or easy to automate. Which updates are installed? Which ones are missing? Which cumulative update (LCU) is actually active on a system? And what exact OS build is running on that machine?

To solve these problems, I built UpdateWindows.exe — a lightweight .NET Framework 4.8.1 console tool that gives you full visibility and control over Windows Updates and system patch level.

This post walks you through what the tool does, how it works, and how you can use it in your daily admin or DevOps workflow.

🚀 What is UpdateWindows?

UpdateWindows.exe is a command-line utility that can:

  • List installed updates
  • List cumulative updates (LCUs) with detailed metadata
  • Provide a combined “full” view of all update types
  • List installed drivers delivered via Windows Update channels
  • Show Microsoft Edge update history and version timeline (new)
  • Display detailed OS information (build, version, hardware)
  • Search for available updates
  • Download and install updates
  • Generate structured HTML reports
  • Optionally enrich metadata via the Microsoft Update Catalog

It is designed for:

  • System administrators
  • DevOps engineers
  • IT auditors
  • Power users

🧠 How it works (under the hood)

The tool combines several Windows technologies and data sources:

Installed Updates (normal list)

  • Windows Update Agent (WUA) COM API
  • WMI class Win32_QuickFixEngineering

Cumulative Updates (LCU)

  • Component Based Servicing (CBS) package store (registry)
  • Local servicing manifests (.mum files)

Drivers

  • Windows Update Agent (WUA) driver query (Type='Driver')
  • Update service mapping (channel identification such as WSUS/WU/DCat)
  • History fallback with bounded scan and metadata extraction

Edge Update History (new in 1.4.0.0)

  • EdgeUpdate log files (%ProgramData%\Microsoft\EdgeUpdate\Log\MicrosoftEdgeUpdate.log*)
  • WUA installed updates filtered for Edge entries
  • Consolidated timeline combining both local EdgeUpdate logs and WU/WSUS-based installs

Operating System Information (-OSInfo)

  • Registry (CurrentVersion, BuildLabEx, UBR, etc.)
  • WMI (Win32_ComputerSystem, hardware info)

Optional Online Metadata (-Resolve)

  • Microsoft Update Catalog
  • Microsoft Support pages

Online activity only happens when explicitly requested with -Resolve.

⚙️ Important behavior notes

Some key design rules ensure predictable behavior:

  • Running without parameters shows help
  • -Full is an alias for -Updates -CU -Drivers -Edge
  • -Resolve only affects installed updates and CU metadata
  • -Search and -Install operate only on not installed + not hidden updates
  • -CU is completely independent from WUA and uses CBS metadata
  • When -HTML is used, table output is written to file (console shows only debug if -Dbg is enabled)

🔍 Core Features

1. List Installed Updates

List installed updates using WUA and WMI:

UpdateWindows.exe -Updates

Resolve human-readable titles:

UpdateWindows.exe -Updates -Resolve

2. Analyze Cumulative Updates (LCUs)

Inspect installed cumulative updates directly from CBS:

UpdateWindows.exe -CU

With release month and OS/build metadata:

UpdateWindows.exe -CU -Resolve

3. Inspect Installed Drivers

You can list drivers delivered via Windows Update channels:

UpdateWindows.exe -Drivers

The output includes:

  • KB
  • InstalledOn
  • Source channel (WU/WSUS/DCat etc.)
  • Class
  • Provider
  • Version
  • Title

4. Inspect Edge Update Timeline (New)

You can now inspect Microsoft Edge update history:

UpdateWindows.exe -Edge

This builds a complete Edge version timeline from:

  • local EdgeUpdate logs
  • Edge updates delivered via Windows Update / WSUS

The output includes:

  • When
  • Source
  • Channel
  • Version
  • Event
  • File

5. Full Update Overview

You can get a combined view of all update types:

UpdateWindows.exe -Full

With resolved metadata:

UpdateWindows.exe -Full -Resolve

This unified report now merges:

  • Installed updates
  • Cumulative updates
  • Installed drivers
  • Edge update history entries

The full view now includes additional columns:

  • Class
  • Provider

and is sorted strictly by installation date (newest first).

6. Operating System Information

A dedicated system information block can be included:

UpdateWindows.exe -OSInfo

7. Search for Available Updates

List updates that are not installed and not hidden:

UpdateWindows.exe -Search

8. Install Available Updates

Automatically install available updates:

UpdateWindows.exe -Install

9. Generate HTML Reports 📄

All output modes support HTML reporting.

You can optionally provide a target file path:

UpdateWindows.exe -Full -Resolve -OSInfo -HTML C:\Reports\update.html

The <path> argument supports environment variables and wildcards, for example:

UpdateWindows.exe -Full -Resolve -OSInfo -HTML %Temp%\%COMPUTERNAME%-Report.html

If you omit the path and use only -HTML, the tool will automatically create a temporary HTML report in %TEMP%.

You can also open the report automatically:

UpdateWindows.exe -Full -Resolve -OSInfo -HTML -Open

HTML reports now also include a metadata line documenting the exact command line switches used to generate the report.

🌐 Online Metadata (Optional)

Online metadata is enabled with:

-Resolve

This will:

  • Replace generic KB titles
  • Determine CU release month
  • Consolidate OS version/build information

Driver and Edge modes focus on local metadata and update channel visibility.

🛠️ Common Use Cases

🔧 Full System Audit

UpdateWindows.exe -Full -Resolve -OSInfo -HTML %Temp%\%COMPUTERNAME%-system.html -Open

🛡️ Verify Patch Level

UpdateWindows.exe -CU -Resolve

🧩 Inspect Driver Delivery Channels

UpdateWindows.exe -Drivers

🌐 Inspect Edge Update Timeline (New)

UpdateWindows.exe -Edge

🔄 Automated Maintenance

UpdateWindows.exe -Install -HTML %Temp%\install.html

🔎 Identify Missing Updates

UpdateWindows.exe -Search

🧩 Parameter Overview

ParameterDescription
-UpdatesLists installed updates (WUA + WMI)
-CULists cumulative updates from CBS
-DriversLists installed drivers delivered via update channels
-EdgeShows Edge update timeline from logs and WU/WSUS
-FullCombined view of updates, CUs, drivers and Edge
-OSInfoOutputs system and OS information
-ResolveResolves titles and CU metadata online
-Search / -ScanSearches for available updates
-InstallDownloads and installs updates
-HTML [<path>]Writes HTML report (optional path, defaults to temp file)
-OpenOpens HTML report in browser
-DbgEnables debug output
-Help / -?Shows usage information

💡 Final Thoughts

UpdateWindows.exe has evolved into a powerful inspection and automation tool for Windows patch management.

Key strengths:

  • Clear and scriptable CLI
  • Accurate CBS-based LCU detection
  • Unified full inventory including drivers and Edge
  • Built-in OS build and hardware info
  • Optional online enrichment
  • Fully offline capable
  • Clean HTML reporting for audits

Whether you’re managing a single machine or thousands of endpoints—UpdateWindows gives you full transparency into your Windows update, driver and Edge state.

🆕 What’s new

Version 1.4.0.0

Version 1.4.0.0 introduces Edge update visibility and report quality improvements.

Highlights:

  • New -Edge mode providing a full Edge update timeline from local logs and WU/WSUS installs
  • -Full report extended to include Edge history entries
  • Improved console output with unified installed-update banner and consistent counters
  • HTML reports now include command-line metadata headers for better traceability

Version 1.3.0.0

Version 1.3.0.0 introduces driver transparency and consolidated reporting enhancements.

Highlights:

  • New -Drivers mode to list drivers installed via Windows Update channels
  • -Full report extended to include drivers alongside updates and cumulative updates
  • Full table now includes additional Class and Provider columns
  • Improved debug logging (-Dbg) with detailed tracing of WUA, CBS, driver fallback logic, and resolution steps
  • Performance and stability improvements in driver enumeration

Download as ZIP package from here: UpdateWindows.zip