Author Posts

September 11, 2015 at 11:42 pm

How do I use powershell to enumerate all the programs installed on a server?

I want to view all the programs installed, or a particular program and not just view Windows Features installed.

September 11, 2015 at 11:44 pm

Which version of Windows?

September 12, 2015 at 12:11 am

Thank you for the prompt reply.

I have three servers Win 2003, Win 2008 and Win 2012. So I need to know how to enumerate all programs installed on all three.

I particularly need the method for Win 2008.

September 12, 2015 at 1:01 am

You can use Win32_Product. That has to be installed on 2003, though – it's on the original install media. It's probably the most reliable universal way.

September 13, 2015 at 9:09 am

There are disadvantages to using Win32_Product. It only will report MSI installed applications and will start scan and recofiguration of every MSI on the system. See some articles with a quick search "Win32_Product bad":

Win32_Product Is Evil.

Why Win32_Product is Bad News!

I've posted a function to get installed programs using the registry before here:

Invoking Registry UninstallString

If it needs to be adapted for remote use, then you can using remoting and Invoke-Expression or using remote registry methods. It's quick and clean to pull information.