Overview

Returns a list of software installed on specified computers using the registry.  This avoids the performance impact and potential danger of using the WMI Win32_Product class.

The computer name, display name, publisher, version, uninstall string and install date are included in the results

Dependencies

Instructions

The PS1 file here contains a function.  You can either add this function to a profile or module of your own, copy and paste the code to your current session, or dot source it like this: ."\\path\to\Get-InstalledSoftware.ps1".

Once the function is available, use it as desired:

 

PowerShell
Edit|Remove
#dot source the script (or add to your profile or a custom module):   
    . "\\path\to\Get-InstalledSoftware.ps1"  
  
#Get help on Get-ADGroupMembers  
    Get-Help Get-InstalledSoftware -Full  
  
#Pull all software from c-is-ts-91, c-is-ts-92 
    Get-InstalledSoftware c-is-ts-91, c-is-ts-92 
 
#Pull software with publisher matching microsoft and displayname matching lync from c-is-ts-91 
    "c-is-ts-91" | Get-InstalledSoftware -DisplayName lync -Publisher microsoft 
 
#Pull software with publisher matching Microsoft and DisplayName starting with Microsoft Office from c-is-ts-91 and c-is-ts-92 
    Get-InstalledSoftware -ComputerName c-is-ts-91, c-is-ts-92 -DisplayName '^Microsoft Office' -Publisher Microsoft | Format-Table -AutoSize 
 
#Pull software with published matching Citrix.  Note the uninstall strings we could use to automate uninstall 
    Get-InstalledSoftware -ComputerName c-is-ts-91 -Publisher citrix | Format-Table -AutoSize
Examples