List installed Windows updates and hotfixes with PowerShell

Query every installed hotfix with its install date and type from PowerShell — the fastest way to confirm a specific KB number actually landed.

WindowssystemsecurityDiagnosticsLow risk
Run `Get-HotFix | Sort-Object InstalledOn -Descending | Format-Table HotFixID, Description, InstalledOn -AutoSize` in PowerShell, or check one KB with `Get-HotFix -Id KB5031354`.

01Command

Command
$ Get-HotFix | Sort-Object InstalledOn -Descending | Format-Table HotFixID, Description, InstalledOn -AutoSize

02What it does

Get-HotFix wraps the Win32_QuickFixEngineering WMI class, so it works without elevation and accepts -ComputerName for remote machines in the same domain. The output includes HotFixID (the KB number), Description (Security Update, Cumulative Update, etc.), and InstalledOn. Note its limits: it does not show Microsoft Store app updates, and on modern Windows 11 cumulative updates some entries may show only the base install date. For a full change history including feature updates, cross-check `Get-HotFix` with Settings > Windows Update > Update history.

03Risk

RiskLow risk
RequirementsNo elevation needed; works in Windows PowerShell on Windows 10/11 and Windows Server.
!Warning: Get-HotFix reflects the Win32_QuickFixEngineering class, which is not a complete update history on Windows 11 — absence of a KB here is not proof it is missing.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • Get-HotFix | Microsoft Learn
    Microsoft · vendor-doc · 2026-09-17
    Evidence: Microsoft documents Get-HotFix as listing hotfixes installed on the computer via Win32_QuickFixEngineering, with HotFixID and InstalledOn properties.
  • Get-HotFix - List installed hotfixes - PowerShell
    SS64 · technical · 2026-09-17
    Evidence: SS64 shows Get-HotFix usage and notes it wraps the Win32_QuickFixEngineering WMI class for querying installed updates.

Last verified: 2026-09-17 · Category: System & Settings

06Related solutions