Find Installed Software on Windows Systems

Planted . Last tended .

$InstalledStuff = Invoke-Command -ComputerName $Server -ScriptBlock {
        $Progs = Get-ItemProperty 'HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*' | select DisplayName
        $Progs += Get-ItemProperty 'HKLM:SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' | Select DisplayName
        $Progs
    }

references:

Use PowerShell to Quickly Find Installed Software - Scripting Blog
Win32_Product Is Evil. | Greg’s Systems Management Blog

Even though you called a basic query of the Win32_Product class, you actually performed a consistency check of each installation.

Updated . Thoughts? Email me.