Get-RemoteProgram Get list of installed programs on remote or local computer

This script generates a list by querying the registry and returning the installed programs of a local or remote computer. It allows for retrieval of additional properties such as the uninstall string of an application as well.

 
 
 
 
 
4.4 Star
(64)
106,851 times
Add to favorites
Operating System
8/5/2019
E-mail Twitter del.icio.us Digg Facebook
Sign in to ask a question


  • Script fetches wrong results from 32 bit servers targetting 64 bit servers.
    2 Posts | Last post August 03, 2014
    • Hi Jaap
      
      This method seems to have issues when you run it from a 32 bit server 2008/windwos 7 PS on 64 servers.
      Using WMI to query StdRegProv class is much faster too and yields consistent results, regardless of wat OS architecture its run from.
      
      
      Thanks
      Gopinath T
    • I see what you mean, I just updated the script with some additional functionality. I am considering adding in support for querying remote registry using wmi as well as .NET in a future release, but I will have to properly test this solution before I can implement this.
  • get the output of the computernames supplied in the input file
    2 Posts | Last post August 03, 2014
    • Hello,
      
      I have used the script Get-RemoteProgram.ps1 , and supplied the list of computers in a text file. It is able to read the computer names from the input file , but the output that I am getting it the list of applications installed on the computer from where the script is run.
      
      Can you please modify the script or apply some tweaks and let me know how I can make it fetch the applications installed on some remote machine in an excel sheet.
    • Sorry for the delayed response, I have included an updated version of this script that now allows you to read the file and pipe the computer names directly into the function. For example you could run:
      
      Get-Content -Path ListOfComputer.txt | Get-RemoteProgram
      
      To gather the list of installed software on all the computers that are stored in ListOfComputer.txt
      
      If you would like to generate output that is useful in Excel you could use the Export-Csv cmdlet as such:
      
      Get-Content -Path ListOfComputer.txt | Get-RemoteProgram | Export-Csv -Path ProgramList.csv -NoTypeInformation
  • Link
    1 Posts | Last post December 29, 2013
    • Just in case you were interested on that method.
      http://exchangelabs.co.in/home/powershell-script-to-list-installed-applications-by-querying-uninstall-registry-key/
      
      
  • Script used in this case is :
    1 Posts | Last post October 17, 2013
    • FOREACH ($PC in get-content C:\Powershell\test.Txt) {  
      $computername=$PC.NameOfComputer  
       
      # Branch of the Registry  
      $Branch='LocalMachine'  
       
      # Main Sub Branch you need to open  
      $SubBranch="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"  
       
      $registry=[microsoft.win32.registrykey]::OpenRemoteBaseKey('Localmachine',$computername)  
      $registrykey=$registry.OpenSubKey($Subbranch)  
      $SubKeys=$registrykey.GetSubKeyNames()
      $FileLocation = "C:\Powershell\output.CSV"
       
       
      # Drill through each key from the list and pull out the value of  
      # “DisplayName” – Write to the Host console the name of the computer  
      # with the application beside it 
       
      Foreach ($key in $subkeys)  
      {  
          $exactkey=$key  
          $NewSubKey=$SubBranch+"\\"+$exactkey  
          $ReadUninstall=$registry.OpenSubKey($NewSubKey)  
          $Value=$ReadUninstall.GetValue("DisplayName")  
         
          $computername | out-file $FileLocation -Append
          $Value | out-file $FileLocation -Append
      
      
       
      } 
      }
71 - 74 of 74 Items