Get list of software installed from a remote computer via WMIC from DOS

Get list of software installed from a remote computer via WMIC from DOS

Get list of software installed from a remote computer

Have you ever needed to get a quick local inventory of installed software across your network? You can use the WMIC command from the DOS CLI.

Simply run the following command:

wmic /user:”localhost\UserName” /password:”UsersPassword” /node:”RemoteHostname” product get name,version,vendor

You can copy and paste this to a command prompt on your machine, just be sure to keep the “quotation marks” when replacing those fields.

For the user: field above, I have localhost\UserName listed. This is because I am sending a local user account which has proper rights to retrieve the WMIC query. When on a domain you would want to use an account with sufficient rights like user:”MyDomain\Administrator”

with this method it will return all software that was installed by an msi package, so some software may not be listed but as a basic quick inventory it will usually suffice.

If you would like the information more manageable then you can create the same list in a CSV file. To do so run the following:

wmic /user:”localhost\UserName” /password:”UsersPassword” /node:”RemoteHostname” product get name,version,vendor /format:csv > C:\SoftwareInstalled.csv

For a more powerful approach you can also do this using powershell. Check out: Get list of software installed from a remote computer via WMI and PowerShell

Posted in DOS, Hyper-V, Hyper-V 2012 R2, Scripting, Windows, Windows 7, Windows 8, Windows Server, Windows Server 2012 R2 and tagged .


  1. Using you can query all your endpoints for the list of installed software and filter by program name (e.g. which of your endpoints have a certain program installed). They offer freeware for up to 100 endpoints.

  2. Besides using “wmic” there are few other ways to get list of installed software from a remote computer: WMI query and PowerShell script.

    With PowerShell it becomes really powerful: you can query multiple computers at the same time, filter and sort by processes name.

    For example, query all computers in an AD domain for list of installed software:
    Get-ADComputer | ForEach-Object {Get-WmiObject -Class Win32_Product -Computer $_.Name}

    Here is detailed description of the syntax:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.