Tip 2 - Software Inventory and Metering

by Greg Shields

How many times have you found yourself walking the halls of your business, clipboard in hand, looking for various instances of licenses and OS installations? These days, that clipboard with its paper and pencil is such an ancient activity that the process itself is a cost for your business.

Eliminate the manual process by implementing software to do inventory for you. Did you know that Microsoft Windows includes a list of every installed application in the registry location HKEY_LOCAL_USER Software Microsoft Windows CurrentVersion Uninstall? Registering software to this registry location has become so commonplace that most commercial inventory products simply look here to generate their list of installed software.

You can accomplish this today for no added cost by using a little PowerShell trickery. Using the following command, you can dump this key's contents from your computer's local registry:


$appList=Get-ChildItem REGISTRY::HKEY_LOCAL_MACHINESoftwareMicrosoft WindowsCurrentVersionUninstall

Foreach ($app in $appList)
{
(Get-ItemProperty REGISTRY::$app).DisplayName
}

This little script will net you a tidy list of every application on your computer. But just knowing that computer's applications, and seeing those results formatted into a column of text, only gets you so far. What you need is push-button inventory across your entire swath of desktops, laptops, and servers, with built-in reports you can hand over to the powers that be. Why code it when multiple options exist to accomplish the steps for you?

Three no-cost solutions that immediately come to mind are LanSweeper (www.lansweeper.com), SpiceWorks (www.spiceworks.com), and Microsoft's own free inventory solution within the Microsoft Assessment and Planning Toolkit (http://technet.microsoft.com/en-us/library/bb977556.aspx). All three of these solutions install a set of tools that seeks out all the computers in your environment, interrogate their registry for hardware and software information, and return the results back in an easy-to-hand-to-the-boss format.

Actually Saving Money with Inventory

Knowing what your inventory entails only gets you so far. Being aware of what software is out there only tells you what you've spent. It's in the analysis of that information where the real money savings lie.

There are two ways you can accomplish this. The first is through a manual inventory of licenses and individuals. Small businesses and their IT environments tend to have a pretty good grasp on the types and counts of software that should be installed into their environments. This means that in your 100-person company, you probably know how many instances of Microsoft Project should be available. You also should be aware of when someone's ACT! Installation shouldn't have made it to another user's computer.

Analyzing that report on inventory can help you harvest a number of the licenses that don't make sense in your environment. You might find tens or dozens of extra software licenses that can be recouped from the environment, ultimately reducing your costs.

Now, in environments that go much beyond 100 or so computers, this process of figuring out who is actually using the software they're assigned grows much more complex. Figuring out these metrics requires a bit of automation support to be useful.

It is for this reason that many companies have developed software metering products. These solutions leverage multiple approaches for actually measuring the amount of time users make use of the software on their systems. If a user, for example, only used Microsoft Project for15 minutes in the past year, you can be assured that they probably don't need it for their daily workflow.

License metering solutions aren't often free solutions; however, their cost is often paid for in the number of licenses that are later harvested from computers. Companies such as ManageSoft (www.managesoft.com), Integrity Software (www.softwaremetering.com), and Express Metrix (www.expressmetrix.com), as well as Microsoft with its System Center Configuration Manager 2007, all provide solutions that enable the minute-by-minute metering of software. Bundled with built-in reports, these tools make it very easy to quickly find software that isn't used and doesn't need to be paid for anymore.

Greg Shields is an independent author, instructor, and IT consultant based in Denver, Colorado, and a co-founder of Concentrated Technology. With nearly 15 years of experience in information technology, Greg has developed extensive experience in systems administration, engineering, and architecture specializing in Microsoft systems management, remote application, and virtualization technologies. Greg is a Contributing Editor and Columnist for TechNet Magazine, and is the author of five books, including Windows Server 2008: What’s New / What’s Changed. Greg is also a highly sought-after instructor and speaker, speaking regularly at conferences like TechMentor Events, and producing computer-based training curriculum for CBT Nuggets.  Greg is a recipient of Microsoft "Most Valuable Professional" award with a specialization in Windows Terminal Services.