Monday, February 19, 2007

Automated Equipment Inventory

Our team supports some 300 workstations and one of the most tiresome tasks for support staff is to record accurately the inventory details of all the workstations in use. Because we are keen for the equipment to do as much routine work as possible, we use a Windows Powershell script to query the WMI Win32_Product which is designed to retrieve information about all the software on a computer that was installed using the Windows Installer (e.g., a .MSI file). The Win32_Product is not foolproof - it can miss applications that really were installed using the Windows Installer - but it seems to have no problem identifying most major software programs. We also capture patches and hardware details in the output.

The script outputs the data it retrieves to a HTML file located on the C:\ drive of the workstation that it is run on. We leave a copy of the output file on the C:\ drive so we can open it if we navigate to the C$ share over the network. We also copy the output file onto a server which allows us to browse or search the files using another script.... Typically the output will look like the output from my personal computer. I really like the way this script gets details like the processor ID number, the MAC address and the serial numbers off the BIOS. It makes the output file almost like a "finger print" of the machine. (Which is great news if a laptop goes missing and the police need the details AND you have a copy of the file on a server!)

The script is available together with more details about it here. We used Windows Powershell to solve this problem because it is a new product (at the start of it's life cycle) and is compatible with the current and upcoming Microsoft operating system releases.

If you are using Windows XP you will need to load Microsoft Windows Powershell, on the workstations on which you want to run the script. You will also need to set the Powershell script execution policy to: "set-executionpolicy remotesigned". The prerequisites for Powershell on XP are Service Pack 2 and the Microsoft .NET Framework version 2.0

12-06-2007 Added a new section that identifies all the usernames that have a profile on the workstation....
14/07/2007 Inserted new section to display Norton/Symantec AntiVirus Status if the application is present...

No comments: