View list of installed software from "add and remove programs"


How would I view all of the installed software from “add and remove programs”

I tried

(Get-WmiObject -Class Win32_product).caption
but this doesn’t show all of them.



There’s not a great way to do that, unfortunately. Win32_Product should include most things installed via Windows Installer, but the GUI queries a LOT of different places beyond Win32_Product, mostly from some kind of esoteric registry locations. Typically, if I’m looking to check on an application that isn’t in Win32_Product, I’ll scan for some known attribute of it, like a specific filename, or a registry key I know it creates.

ok Thank you Don

It is not recommended to use Win32_Product. When you query this class, the way the provider works is that it actually performs a Windows Installer “reconfiguration” on every MSI package on the system as its performing the query. LINK

PowerShell/WMI: An alternative to using Win32_Product. This looks at the 32 and 64 bit Uninstaller versions in the registry.

"","Wow6432Node" | ForEach-Object {Get-ChildItem HKLM:\SOFTWARE\$_\Microsoft\Windows\CurrentVersion\Uninstall\ | ? {($_.GetValue("DisplayName")) -like "*Adobe*"}}