Preparing a system and driver inventory of Windows NT

Some day you'll need to reinstall or upgrade Windows NT. But in this OS, hardware information can be hard to find. In this Daily Drill Down, Mike Jackman discusses how to track it down and create a simple inventory database using Microsoft Excel.

It’s inevitable that someday your Windows NT system will crash, or some system change will require you to reinstall it. When that day comes, wouldn’t it be nice to have an inventory of all your device drivers, their revision dates, settings, and where you got them? In this Daily Drill Down, I’ll show you how to root out all the information you can from Windows NT and use Microsoft Excel to make a simple computer inventory database.

Where’s the info hiding?
Assuming that you’ve already set up your system, much of the information you’ll need for your database can be found in the Windows NT Diagnostics utility. The rest you can get easily from Control Panel applets, the BIOS, and a tool that comes hidden on the Windows NT 4.0 CD called Hqtool.

What to inventory
It’s possible to inventory every last application, patch, and setting. But that would lead to information overload and endless tinkering with the database. I have two goals for my database: to record all the essential hardware information necessary to re-create the system, should that ever become necessary, and to be able to easily update components. For an effective database, you want to include information such as the interrupts assigned, memory addresses, version numbers and dates, and other hardware and system information. In addition to hardware and hardware driver data, it’s also helpful to record basic OS info, such as the service pack and serial number. You don’t want to overlook the computer make, model, serial number, and BIOS version. With this information at hand, you should be able to go to any vendor’s Web site and download the latest drivers and firmware revisions. You’ll also be able to avoid overwriting these updates with older versions.

Using Windows NT Diagnostics
To see what kind of information you can glean from Windows NT about your devices, open up the Windows NT Diagnostics program by choosing Start | Programs | Administrative Tools (Common) | Windows NT Diagnostics. You’ll see a screen similar to that shown in Figure A, with two rows of tabs.

Figure A
The Windows NT Diagnostics program displays comprehensive system information.

Gathering system information
Note that the very first tab, called Version, displays helpful information such as your OS service pack and serial number (by the way, the serial number in Figure A is not real). You’ll definitely want to record this information in your database, as there’s nothing more frustrating than having your Windows NT CD but no serial number with which to install it.

Click over to the next tab, called System. Useful information here includes your BIOS date and version and your processor and speed.

To the right of the System tab is one called Display. Here you can gather information about your display card and drivers, including the files used, their version numbers, and the amount of video memory installed.

Continuing to explore the front row of tabs, we come to Drives. Clicking the Properties button will give you information for drives currently being used. In other words, to read information about drive A: or your CD-ROM drive, you need to place media in the drives. Then, you can highlight the drive, click Properties, and discover the drive label, serial number, formatting parameters, amount of storage, free space, and file system information. This tab is handiest for recording the label, serial number, and size of fixed drives, like your C: drive.

The last tab on the bottom row, Memory, includes information about the current state of page files, processes, and threads, as well as physical memory. For your database, you can record the amount of RAM you have from the Physical Memory section.

Gathering driver information
Choose the Services tab. By default, you’ll see a listing of Windows NT services, but you can view devices instead by clicking the Devices button. In Windows NT, the devices (and services) listed mean those that are registered in the OS, whether or not you actually ever use them. You can have dozens of registered devices you’ll never run. Let me clarify a little more: A device means a device driver—the software that lets Windows NT use the hardware device. For instance, Figure B shows the list of devices on one of my test machines. Note the second device listed, EL656 Adapter Driver. This driver refers to a 3Com networking card that I no longer use. I’ve disabled the driver using the Devices applet in Control Panel, but since it is still registered in Windows NT, it still appears in the list. It’s listed as Stopped in the State column because it is not running. The actual PC card device driver I use, FEM656B, appears about halfway down the list, and its state is listed as Running.

Figure B
The Services tab can also display the name and state of all devices registered in Windows NT.

You can sort the State column by clicking the column label. When you do, running drivers will be grouped at the top of the list, and stopped drivers will appear below them. Now you have a means to gather information without wading through a long list. The fact that 35 drivers might be running on any given networked workstation is bad enough without sorting through all the others. But which information should you record, and how do you find this information?

Default drivers and third-party drivers
Consider recording the Windows NT default hardware drivers in your database. These basic drivers come with Windows NT and allow Windows to use basic hardware such as the mouse, keyboard, hard drive, floppy drive, video when in VGA mode, and other key components. Occasionally, a device will fail because the driver file becomes corrupted. In such a case, it’s much easier to copy the old driver right off the Windows NT installation CD or right out of the latest service pack, without reinstalling the whole OS or running a repair utility. You can do this if you know the name and file date of the driver.

Sometimes, the names of device drivers are not always clear. For instance, there’s a device named Mup that appears on my list. That’s just not self-explanatory. To help you find out what these devices do, I’ve written a brief reference, Windows NT 4.0 default devices and services. According to the reference, Mup.sys is a Network Multiple UNC Provider. UNC means Universal Naming Convention. The driver’s properties in Windows NT Diagnostics list it as part of the network group and as a file system driver. For the purposes of my database, I don’t need to list it, since it doesn’t drive hardware.

On the other hand, for my system I would list the kernel device drivers such as Atapi.sys (runs the CD-ROM and fixed disk), Kbdclass.sys (keyboard driver), Mouclass.sys (mouse driver), and others. I would also list the path to the driver, and if the date or version number wasn’t available in Windows NT Diagnostics, I’d get the information from the file stamp. Remember that your system’s drivers will be different. For instance, you may be running the Sparrow.sys (SCSI) driver rather than the Atapi.sys driver, or perhaps the Sermous.sys (serial mouse) driver if you’re not using a PS/2 mouse.

Figure C shows a typical properties listing for a driver. In this case, the properties for Chipsm.sys show the full path, the start type, group, and service flag. Sometimes the path is shown as unavailable. It’s a good bet, however, that the path is simply the Winnt\system32\drivers directory. For instance, the properties for the Serial driver show no path or filename. A look in the \drivers directory shows a file called Serial.sys. From this example, you can see that drivers aren’t programmed consistently.

The Dependencies tab lists any drivers or services that the currently listed one relies on. Often this tab will have no entries. To view a dependency, click the properties for Remote Access ARP. You’ll see that it depends on the TCP/IP service.

Figure C
The properties for drivers in Windows NT Diagnostics show the full path, group, service flags, and other essential information.

Third-party drivers are those that come with hardware you purchased or that were not distributed with Windows NT. For example, if your laptop has a certain 3Com NIC driver you have to download from the Internet, that’s a third-party driver. You can gather the same basic information as for Windows NT default drivers from the Windows NT Diagnostics application.

Gathering more detailed information
Once you’ve gathered basic driver information, you’ll probably want to find more advanced information about your hardware and drivers. For example, you can get IRQ and memory address information from the Resources tab of the Diagnostics application. Actually, there are buttons for IRQ, I/O Port, DMA, Memory, and Devices under this tab. In order to troubleshoot device conflicts that may occur when you reinstall a system, consider recording at least the IRQ and memory addresses.

Another good place to look for this information is Control Panel. Particularly useful are the Display, Multimedia, Network, PC Card, and SCSI Adapters applets. Your system may have other applets as well that provide advanced hardware information. Often, the information may be more detailed than that found in the Windows NT Diagnostics application.

For example, on my laptop the Display applet has an added tab, called Compaq. This tab has an Information button that lists the complete set of drivers, as well as their versions and dates. The information was slightly different than that presented with the Windows NT tool. For example, it provided the version numbers for both DLL files. However, the Windows NT tool provided a more complete version number. This is why drilling down into all the hardware sources is important.

Under the SCSI Adapters applet, I was able to find the type of hard drive and CD-ROM installed in the system, as well as their model numbers, drivers, and firmware revisions.

Using Hqtool
There’s another cool way to get some detailed hardware information. The Windows NT 4.0 Workstation CD-ROM comes with a handy tool called Hqtool. To use Hqtool, you’ll need your Windows NT Workstation CD. Navigate to Support\Hqtool. Put a blank floppy disk in the A: drive, and double-click Makedisk.bat in the \Hqtool directory. The batch file will create a bootable floppy disk that will run the program. When you’ve finished, restart your machine, booting from the floppy. The program will perform a detailed hardware detection. You can save a log to the A: drive and read it later, adding the information to your database. Using this tool, I was able to obtain the serial number of my laptop’s hard drive, as well as other useful information about my hardware.

Using the BIOS
You can acquire still more information through the BIOS, depending on the type you have. Once you boot your computer and press the [F] key to start your BIOS, you’ll be able to see many of the hardware specifications. For example, my system’s USB port and IR ports were undetected by Hqtool but were shown in the BIOS. This hardware is not enabled in Windows NT. Nevertheless, it is useful for the hardware inventory. For instance, if think you might want to upgrade to Windows 2000, you’ll want to record this information.

Finally, there’s some dirty work. You’ll want to record the serial numbers for monitors, towers, and laptops—anything visible by getting your hands on the equipment. And if you have any company asset tags, you’ll want to record them, as well. Now, you have all the equipment information you need to keep your drivers and firmware up to date. All you need to do is list it.

Listing all the info
Excel, or any another spreadsheet for that matter, provides an easy way to organize lists. Granted, it doesn’t have the same capabilities as an advanced database program like Access, but it does give you the ability to quickly set up your list, sort it, enter information with data entry forms, and create formatted reports and attractive screens.

To use Excel as a database list, think of each column as a field and each row as a record. Create your field titles across the very first row. For my hardware and driver inventory, I used the following field titles:
  • ID
  • Item
  • Manufacturer
  • Model
  • S/N or Mod #
  • Memory
  • IRQ
  • Memory Address
  • Driver
  • Version
  • Date
  • Source
  • Path
  • Notes

The ID field provides a way to sort your list if you have more than one computer. Call the first computer 1, the second 2, and so on. For each hardware item you list, an ID of 1 means that it belongs with that computer. Sorting is easy to accomplish in Excel. Just click a cell in the column you want to sort, then choose Data | Sort from the menu bar. You can sort in ascending or descending order. Excel is smart enough to sort all the cells in the row, so data won’t become misplaced. The program also knows not to sort the header row. You can even let Excel set up a data entry form on the fly. Click the cell in the upper-left corner of your list, and then choose Data | Form from the menu bar. Instantly, Excel will place a data entry form on your screen. It’s not sophisticated, but it’s quick and helpful. Finally, using Excel, you can format your form with colors, fonts, and lines to make it easier to read. My quickly produced Hardware Inventory form is shown in Figure D. The data entry form that Excel creates is shown in Figure E.

Figure D
Using Excel or any other spreadsheet, you can quickly create a hardware and driver inventory.

Figure E
One advantage of using Excel is the ability to quickly create a data entry sheet.

Finding hardware and device driver information in Windows NT takes some digging. Using Windows NT Diagnostics, the BIOS, Control Panel, and Hqtool, you should find most of the crucial information. By adding this information to a list created in Excel or some other advanced spreadsheet, you’ll find it much easier to reinstall or maintain your systems. You’ll also discover that applying updates and revisions will be much easier. Even if you made this a spare-time project, eventually you’ll compile enough data to be secure in the face of a computer disaster. Just remember to print out your database.

Mike Jackman is an editor in chief of TechProGuild, an editor of PC Troubleshooter and Windows Support Professional, and also works as a freelance Web designer and consultant. In his spare time (when he can find some), Mike’s an avid devourer and writer of science fiction, parent to two perpetually adolescent cats, and a hiking enthusiast.

The authors and editors have taken care in preparation of the content contained herein but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.

Editor's Picks