In a recent article on assessing a customer's site, I discuss the importance of obtaining a thorough and up-to-date hardware and software inventory of your customer's
Before you begin
The first step in the inventory process is to determine what level of detail you need. If you're performing a hardware inventory then it pretty much goes without saying that you'll want to compile information such as each PC's processor, the size of its hard drive and the amount of memory installed. However, there are other aspects of the inventory that may be relevant. For example, you need to consider whether to record the make, model and serial number of each PC. If you decide to record serial numbers, then you need to decide if you want to also record serial numbers for devices like monitors and printers.
There are still other decisions to make regarding the granularity of your inventory. I have seen inventories that include the number of USB ports on a PC, or the specific type of CD or DVD drive that is installed. In most cases, you probably won't have to worry about compiling such information, but you do have to decide what information to collect.
Taking a manual inventory
After you decide what information needs to be compiled, you need to choose a method of performing the inventory. One possible method is a manual inventory. Manual inventories are best suited to very small companies. It often takes less time to manually inventory a couple dozen machines than it does to install and configure software to automate the inventory process.
I can tell you from personal experience that while it's not impossible to take a manual inventory of a large network, doing so is an extremely tedious and time-consuming task. At one point in my life I was a network administrator for a large insurance company with about a thousand desktops. A mandate from corporate headquarters required my staff to perform a monthly comprehensive inventory. Inventory software didn't exist yet, so we performed this inventory manually. My staff of six and I would typically spend about 10 hours on a Saturday inventorying every PC in the office.
We were required to submit the written inventory on Monday morning. This ensured that a fresh inventory was taken each month and that we didn't simply assume that a PC's hardware configuration hadn't changed over the last month.
If you do perform a manual inventory, I suggest entering the recorded information into a Microsoft Access database. This will make it easier to sort the information, generate reports or compare the information against data collected during future inventories.
In all but the smallest companies, it's more prudent to use software to automate the inventory process. There are dozens of applications available designed to collect hardware and software inventories.
If you've never used software to compile a network inventory, here's a brief demonstration of what you can expect. To inventory my own network, I use the inventory capabilities built in to my antivirus software. Looking at Figure A, you can see that the middle pane in the console displays the number of instances of each software application on my network. This type of functionality is typically used for license compliance since you can tell at a glance how many licenses of each application are required.
Figure A A good inventory application should be able to assist your customer with software license compliance.
On the upper left hand corner of the screen is a listing of all of the PCs on the network. Clicking on an individual PC displays the software that is installed on the PC, as well as the installation path, as shown in Figure B.
Figure B You should be able to view the software inventory for each individual machine.
With the software that I am using, performing a hardware inventory works very similarly to compiling a software inventory. Looking at Figure C, you can see the hardware inventory for the selected PC.
Figure C This is what a hardware inventory typically looks like.
If you decide to use software to inventory your customer's network, the real trick is choosing an appropriate inventory application from the dozens available. There are two things you can do to make the decision easier.
Earlier I suggested listing the items that are important for you to inventory. The first thing you should do is compare your list against the capabilities of the software you're considering. If the software doesn't inventory some of the items on your list, then you probably want to keep shopping. While you're looking at the software's features, it's also a good idea to look at the types of reports that the software allows you to create.
My second piece of advice is to check out what people are saying online about the software. A couple years ago there was a particular application that was notorious for misidentifying various hardware components. Reading reviews from people who purchase the application that you're considering will help to keep you from purchasing faulty software.
Whether performing an inventory manually or with automated software, taking inventory of a network is not a task to be taken lightly. In either case, it is very important to identify the scope of the task at hand before you ever inventory the first PC.
About the author
Brien Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Windows 2000 Server and IIS. He has served as CIO for a nationwide chain of hospitals and was once in charge of IT security for Fort Knox. As a freelance technical writer, he has written for Microsoft, TechTarget, CNET, ZDNet, MSD2D, Relevant Technologies and other technology companies. You can visit his personal Web site at www.brienposey.com
This was first published in November 2006