Have you ever observed that the Apps & Features (aka "Add/Remove Programs") UI in Windows doesn't display all software packages that are installed, and found it tedious to confirm details of installed software by inspecting and searching through the Uninstall registry keys?
Here are a couple of PowerShell commands to make this process easier.
First of all we get a list of all the Uninstall registry entries from both the 64 bit and 32 bit areas of the registry:
$u = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*") + (Get-ItemProperty "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*")
Once these details have been retrieved into a variable, we filter for packages of interest, and select a few interesting properties to output. In this example we are filtering for all packages whose name starts with "Adobe":
$u | Where DisplayName -like 'Adobe*' | Sort DisplayName, DisplayVersion | Select DisplayName, DisplayVersion, Publisher, InstallDate
This produces nicely formatted output like the following:
DisplayName DisplayVersion Publisher InstallDate ----------- -------------- --------- ----------- Adobe Acrobat Reader DC MUI 21.005.20060 Adobe Systems Incorporated 20210905 Adobe Digital Editions 4.5 4.5.11 Adobe Systems Incorporated
When using an approach like this, be aware that the FlexNet inventory agent (and possibly other agents) will gather details of installed software from a range of sources beyond just the Uninstall area of the registry. However in a Windows environment, the majority of software does leave a footprint in the Uninstall area of the registry, and can be picked up using an approach like this.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.