Getting computer serial numbers over the network

I hate inventory. Running around writing down serial numbers seems like something we shouldn’t have to do these days, but we still do. At least I do anyway.

This script will attach to a specified computer over the network and grab some information about it, including the serial number of the system and monitors attached to it. Kudos to Michael Baird and Denny Mansart for all that EDID code.

The big deal is the monitor serial numbers, because that is a tricky piece of information to get. Windows stores the monitor EDID information in the registry. This script grabs that data and then decodes it to get some information that is nice to have like the monitor’s serial number.

This is more of a demonstration script. I’ve used the code in other scripts that will poll subnets for computers and dump the info to a spreadsheet instead of just displaying it.

I used to have a link to the original code, but unfortunately Clarence Washington’s Win32Scripting site has closed it doors.

Microsoft introduced the WmiMonitorID class with Windows Vista and Server 2008. This class does the work of extracting monitor EDID data automatically. An example of using this WMI class with PowerShell is here.

Sample info.vbs output:

Serial Number: USU4190DSD
Maximum Capacity: 4194304
Maximum Capacity: 512
Part Number:
Serial Number: USU4190DSD
Asset Tag: USU4190DSD

Monitor A)
……….VESA Manufacturer ID= HWP
……….Device ID= 2604
……….Manufacture Date= 7/2003
……….Serial Number= Serial Number Not Found in EDID data <1>
……….Model Name= hp 7550
……….EDID Version= 1.3
Monitor B)
……….VESA Manufacturer ID= VSC
……….Device ID= CE1B
……….Manufacture Date= 4/2005
……….Serial Number= PPJ051501908
……….Model Name= VA712b
……….EDID Version= 1.3