List all Installed Applications

In Powershell, this is a way to display a list of applications installed. Typically, scripts are written to show registry items under the Uninstall key. However, it’s essential to capture both 32-and 64-bit applications. If you are on the 64-bit system, you also need to inspect the Wow6432Node Uninstall key for 32-bit apps.

This script determines whether the OS is 32-bit or 64-bit. For 64-bit systems, it will combine the apps from both parts of the registry. Anything that is a Microsoft patch is excluded by using an exclusion for those that have “update for” in their display names.

$OS = Get-WmiObject -Class Win32_OperatingSystem

If ($OS.OSArchitecture -eq "64-bit")
 {
 $A = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall
 $B = Get-ChildItem HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
 $A + $B | % {Get-ItemProperty $_.PsPath} | where {$_.Displayname -and ($_.Displayname -notlike "*Update for*")} | sort Displayname | select DisplayName, DisplayVersion, Publisher | Format-Table -autosize
 }
 Else
 {
 $A = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall
 $A | % {Get-ItemProperty $_.PsPath} | where {$_.Displayname -and ($_.Displayname -notlike "*Update for*")} | sort Displayname | select DisplayName, DisplayVersion, Publisher | Format-Table -autosize
}

Sample Output:

List all Installed Applications

List all Installed Applications