Let we start with just a simple script that will retrieve all the software that has been installed on the computer.
$arr = @() $reg = @() $reg = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall $reg += Get-ChildItem HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall $reg |%{ $tmp = Get-ItemProperty $_.pspath $arr += "$($tmp.DisplayName) $($tmp.DisplayVersion)" } cls $arr | Sort-Object | Select -uniq