Full Listing of Installed Programs using Powershell


We’ve used the following command found at this link to try and get a complete listing of installed programs in Windows:

However, this gives an incomplete listing of installed programs when compared with the list of installed programs in the Control panel.

Our original intention is to have a script that can interactively and eventually automatically uninstall bloatware installed on a computer. However, the command above misses a handful that we’d like to have uninstalled as well.

Is there another Class we can look into in order to get the complete listing? Or is there another command altogether that we can use?
Any insight is appreciated


The Get-Package cmdlet provides more information than the Win32_Product class. Here are the differences between the two on my Windows 10 system:

This one includes extra entries. You should be able to see that it includes entries from the Programs provider as well as the msi provider.

Deleting packages from the Programs provider is actually harder than might sound in the first place. Entries in there will generally have an uninstall command or a quiet uninstall command but it’s not guaranteed. For cases where there is a quiet uninstall string then you could do something like this:

Then you could uninstall with:


Full Listing of Installed Programs using Powershell by licensed under CC BY-SA | With most appropriate answer!

Leave a Reply