List Installed Applications

Here is a script you can use to check if a set of systems have some software installed, or list all applications installed on a set of servers.

Copy the below, paste in a .ps1 file. The instructions are in the script.

# Original posting on how to access a remote Registry from The Powershell Guy 
# This script will Query the Uninstall Key on a computer specified in $computername and list the applications installed there 
# $Branch contains the branch of the registry being accessed 
#  ' 
# Hereis where the differences start, the file is now a simple flat text file with the servers listed one at a time.
# I added two parameters;
# Path, This parameter is mandatory and takes the path to the list of servers.
# filter, This parameter lists the output to software containing the filter string.
# There are times when there will be no display name for the application, when this occurs, we output the key name preceeded by "--".
# The values are enclosed in brackets "[]" and the application name and the server are seperated by a comma. This should make it easy to load
# into excel.
# Usage: .\<script name> <-Path "path to server list> [-filter "*filter*"]




# Branch of the Registry 

# Main Sub Branch you need to open 


# 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) 
    $Value = "--$exactkey"
 if($Value -like "*$filter*" -or $filter -eq "ALL"){
       WRITE-HOST "[$Value], [$computername]"


Leave a Reply