List Installed Programs from the Registry Uninstall Keys

Enumerate installed software with versions, publishers, and install dates by reading the Uninstall registry key.

WindowsregistrysoftwarepowershellLow risk
Run Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*' | Where DisplayName | Select DisplayName, DisplayVersion, Publisher, InstallDate.

01Command

Command
$ Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*' |
  Where-Object DisplayName |
  Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
  Sort-Object DisplayName

02What it does

Every MSI and most installers register an entry under ...\Uninstall, so this key is more complete than Get-Package and scriptable for inventory — including per-user installs under HKCU:\...\Uninstall. On 64-bit Windows, 32-bit programs land under the Wow6432Node subpath, so query both or you will miss roughly half the software. TheQuietUninstallString and UninstallString values also give you silent-uninstall commands for scripting removals.

03Risk

RiskLow risk
RequirementsAdd the Wow6432Node path as well to include 32-bit apps on 64-bit Windows

04Undo

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

05Sources

  • Uninstall Registry Key
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Documents the Uninstall key's DisplayName, DisplayVersion, and InstallDate values.

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

06Related solutions