Homepage 5 How-to Articles 5 How to Script to List Installed Software on Multiple Computers

How to Script to List Installed Software on Multiple Computers

Manage remote endpoints, deploy software and patches with Action1 cloud RMM solution.

Sign up and use free on up to 50 endpoints with no functionality limits or expiration.

October 19, 2018
Creating a script to list of installed software on multiple computers is the first important step in implementing centralized software inventory for your network. Also, this method of building a list of installed programs in the system can be useful before reinstalling the system when you need to find unwanted software. Information about installed applications should include product name, vendor, version, install path and some other data. This guide describes how to create a script to list installed software on multiple computers and save the list of installed programs to CSV file.


1. Execute WMI Query in ROOT\CIMV2 Namespace: – Launch WMI Explorer or any other tool which can run WMI queries. – Run WMI query: SELECT * FROM Win32_Product 2. Open WMIC Command-line Interface: – Press WIN+R – Type “wmic”, press Enter – In wmic command line tool type: /node:RemoteComputerName product 3. Run This Simple Windows Powershell Script: – thru WMI object: Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_Product -Computer RemoteComputerName – thru Windows Registry: Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate – thru Get-RemoteProgram cmdlet: Get-RemoteProgram -ComputerName RemoteComputerName 4. Use Following Code to Select Specific Columns: – execute: Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_Product -Computer RemoteComputerName | Select-Object Name, Version, PSComputerName 5. Sort the Results Using the Line Below: – invoke command: Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_Product -Computer RemoteComputerName | Select-Object Name, Version, PSComputerName | Sort-Object Name 6. The Next Code Helps to Filter Results: – use it: Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_Product -Computer RemoteComputerName | Select-Object Name, Version, PSComputerName | Where-Object -FilterScript {$_.Name -like “Microsoft*”} 7. Save Results to CSV File: – run: Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_Product -Computer RemoteComputerName | Select-Object Name, Version, PSComputerName | Export-CSV “c:\file.csv” -Append -NoTypeInformation 8. The Next Step Is to Query Multiple Computers: – computers from a text file: Get-Content -Path c:\computers.txt | ForEach-Object {Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_Product -Computer $_} – computers from AD domain: Get-ADComputer -Filter {OperatingSystem -Like ‘Windows 10*’} | ForEach-Object {Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_Product -Computer $_.Name}

Related Articles

How To Delete User Profiles Remotely with PowerShell

When a user logs onto the computer for the first time (not via the network to access shared folders or printers), Windows creates a user profile. Among its contents are the NTUSER.DAT file (user profile settings), user-specific folders (My Documents, Desktop, etc.),...

About Action1 RMM

Action1 RMM is a cloud-based IT solution for remote monitoring and management, patching, and remote support.

Start your free two-week trial of Action1, or use RMM tools for free forever on 50 endpoints with no functionality limitations!


Submit a Comment

Your email address will not be published.

cloud patch management solutions action1

MSP Solution

Centralize endpoint management and boost efficiency of IT service delivery.

automated server patch management action compliance

Patch Management

Identify and deploy missing OS and third-party software updates.

cloud software deployment tools windows

Software Deployment

Distribute software and updates across managed endpoints.

software distribution tools software inventory action1

IT Asset Inventory

Keep a detailed inventory and manage hardware and software assets.

web client remote desktop

Remote Desktop

Support users via seamless remote desktop connection.

web based rdp client

Unattended Access

Provide administrative support and manage remote devices.

automated patch management action1

Endpoint Management

Run PowerShell, custom scripts, reboot computers and restart services.

API integrations action1


Integrate Action1 RMM to your IT ecosystem.

computer inventory tool for compliance

Reports and Alerts

Conduct endpoint security audits with comprehensive reporting.