Here’s 3 little code snippet to get the software installed on the local machine using powershell. Usefull when scripting setups and deployment !
Slow but really complete.
Get-WmiObject -Class Win32_Product
Based on the software in Add/Remove Programs. Fast but may miss some software.
Get-WmiObject -Class Win32Reg_AddRemovePrograms
Based on the software registering in the registry for uninstall. Fast but may miss some software.
Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall | % {Get-ItemProperty $_.PsPath} | where {$_.Displayname -and ($_.Displayname -match ".*")} | sort Displayname | select DisplayName, Publisher
Catch you next time and keep it bug free !