How to Audit Software Using Software Inventory Tools

This article provides an overview of different software inventory tools and methods that they use to collect software inventory information from network PCs.

If you need to analyze software licensing compliance for one PC you can simply open the Add/Remove Programs list in Windows in order to understand what software is installed on the computer. But if you need to analyze license compliance for entire organization this approach can take a lot of time and it's better to use one of software inventory tools. But what is important to know in order to select a right tool and what is the difference between inventory tools available now on the market? These questions are answered in course of this article.

Software Inventory Tools Overview

The main goal of software inventory tools is an automation of software inventory information collection across entire organization. The most effective way to collect this information is to perform it remotely, so software inventory tools usually work as network applications that connect to remote computers through a local network. Different software inventory applications can use different methods to extract software inventory information through network, but main approaches are following.

  • Windows Management Instrumentation. WMI is a standard Windows interface that provides an access to various hardware and software information both for local and remote PCs. As far as this interface provides an access to sensitive information stored on computers it's turned off by default in recent versions of Windows. It means that if you lake to use a software inventory program using WMI, you have to enable WMI across a network.
  • Remote Registry access. Windows registry is a main storage of system, hardware and software information on Windows platform. In particular, a list of installed applications displayed by Add/Remove Programs view can be easily extracted from registry data. Registry information can be accessed remotely through the Remote Registry service. Software inventory applications using the remote registry access can work in most of network environments with no network configuration changes, because remote registry access is enabled by default in a typical PC configuration.

How the software audit process usually looks like? You need to install a software inventory tool on a server or any desktop that is connected to the corporate network. Ensure that you have administrative rights to access network PCs and define a scope of PCs to scan. The inventory application will connect to remote PCs in order to collect software inventory information into a centralized database. When all data are collected, you can review them and build various reports and your inventory tool provides this feature.

How to Select the Right Software Inventory Program

There are a lot of different software inventory programs available, but what factors should be considered in order to select the right one? The first factor that should be taken into account is the price, because it divides all tools into two categories: free and commercial. The next factor is a technology used to extract the inventory information. As it was explained above, you have to choose between WMI-based tools, tools that use Remote Registry or mixed solutions. If you don't have experience in network configuration, select tools that use Remote Registry, because there are more chances that they will work with no network configuration. Another factor is a set of software inventory features. Do you only need to collect a list of software for every PC, or you need to aggregate it for entire network and generate software license compliance report. Check if inventory tool supports these features. Some of them can also extract used license keys for some software item, so consider importance of this feature as well. Finally, you need to think if you are looking to find only software inventory, or you need to know also hardware inventory info for network PCs. In the second case the network inventory tools that include both software and hardware inventory features are preferred.

As an example, you can evaluate results produced by a freeware network software scanner and more advanced network inventory solution. The first one is a basic tool that allows collecting a list of installed software for every PC and export it to a file. The second one is a commercial solution that is able to perform hardware and software audit, report serial numbers for some software applications and can generate license compliance and other reports.

Freeware Inventory Utility

EMCO Network Software Scanner allows auditing programs and software updates installed on Windows PCs that are located in a LAN/WAN.

Useful Resources
  • WMI Reference contains explanation of the infrastructure for management data and operations on Windows-based operating systems.
  • Microsoft Script Center is focused on teaching system administrators how to use Windows PowerShell and other scripting solutions to reduce time spent performing mundane tasks.