How to Extract Basic Hardware Inventory Info Using PsInfo Utility

This article explains how to use PsInfo utility in order to extract basic hardware inventory and software inventory information from a local or remote PC connected to LAN.

PsInfo is a command-line utility that is a part of Sysinternals toolkit named PsTools. This utility can be used to extract basic software and hardware inventory information from the local or remote Windows system. Reported hardware inventory information includes a number of processors and their specification, physical memory summary and information about logical disks. This inventory tool is also reports basic software information including Windows version, Windows registration information, Windows installation date and activation status. It can also report a list of installed OS hotfixes and their installation dates.

Collecting Hardware Inventory Information from the Local PC

By default PsInfo collects inventory data from the PC where it is executed. Collected information is reported to a console output, but you can redirect it to a file for further usage. The command below reports basic software and hardware inventory information for the local PC.

psinfo -h -s -d

As you can see, in addition to the basic software and hardware inventory information the program output also includes information about installed hotfixes, installed applications and disk volume information. It appears in the output because we specified additional command-line switches. If you don't like the output format and prefer to have data reported in CSV format, you can specify the CSV print format option, as it's demonstrated below.

psinfo -h -s -d -c

Well, this is fine to collect information from the local PC, how to use PsInfo as a network software and hardware inventory tool? In order to report software and hardware inventory information for remote PCs you need to specify their names as a command-line parameters.

psinfo \\PC-1,PC-2,PC-3 -d

If you need to collect inventory information from a large number of PCs it will be complicated to write all their names in a command-line parameter. In such case you can use an alternative command syntax, that refers a file with a list of computer names.

psinfo @list-of-computers.txt -d

In order to collect software and hardware inventory data from remote PCs PsInfo utility relies on access to remote Registry, so the remote system should be running the Remote Registry service and the account from which you run PsInfo must have access to the HKLM\System portion of the remote Registry. If required, you can use another account to connect to remote PCs using corresponding command-line parameters.

psinfo @list-of-computers.txt -u username -p password -d

Alternative Software and Hardware Inventory Solutions

PsInfo utility can help to audit only basic inventory information. If you are looking to get detailed information, you can use one of integrated network inventory tools. Such tools can report detailed hardware inventory information including models and specifications for every used hardware devices, their serial numbers, etc. Also that can provide information about installed software, including serial numbers for some of applications. All collected information can be represented as printable software and hardware inventory reports.

Useful Resources
  • WMI Reference contains information about infrastructure that provides an access to software and hardware inventory information on Windows-based operating systems.
  • Microsoft Script Center is aimed to educate network administrators how to use Windows PowerShell and other scripting solutions to perform audit, inventory, management and other administrative tasks.