• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 17797
  • Last Modified:

Need to find server serial number with VBScript

The following script works great on Dell servers to return tag/serial number information.
How do I use a similar script to get the serial number of HP Proliant DL380 servers?

Dim strComputer, objWMIService, colItems, objItem
strComputer = InputBox("Please enter the computer name or IP Address of a Dell machine:","Computer Name or IP Address")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_BIOS",,48)
For Each objItem In colItems
      MsgBox "Dell Service Tag: " & objItem.SerialNumber
MsgBox "Finished"

Open in new window

  • 2
1 Solution
The same script should work, but typically depends on that information being populated in the BIOS. There are numerous free products that scan remote systems and return the information. You might try WMI Asset Logger, it is a program that I wrote and is free (no spy/nag). Anyway I'm not here to SPAM the forums so if you want to try just google it.

You might also try getting the asset tag, I know this works for Dell, and HP.....
Use the same code you posted above, changing Win32_BIOS to "Win32_SystemEnclosure" and change
objItem.SerialNumber to objItem.SMBIOSAssetTag. Asset tags are not always included, but they tend to show up on Dells.

Malli BoppeCommented:
If you have loets of HP server I recommend you to setup HP CMS which can do amazing things for you.You can run reports about hardware and find any failed hardware and lot more.

Similar question
lanman777Author Commented:
I think what I am looking for is a return on this "chassisserialnumber" via VBScript.
However, have not been able to get this parameter to successfully return
the serial number of the Proliant DL380 server.
You might try this one, I tried this on my LAN and found a few IBMs that held the serial information in this class, unfortunately I do not have any HP servers (although that truly shouldn't matter, the same IBMs also had the serial number under Win32_BIOS.SerialNumber)

Have you tried to query any other WMI based information from the same system ?

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_SystemEnclosure",,48) 
For Each objItem in colItems 
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_SystemEnclosure instance"
    Wscript.Echo "-----------------------------------"
    If isNull(objItem.ChassisTypes) Then
        Wscript.Echo "ChassisTypes: "
        Wscript.Echo "ChassisTypes: " & Join(objItem.ChassisTypes, ",")
    End If
    Wscript.Echo "Manufacturer: " & objItem.Manufacturer
    Wscript.Echo "Model: " & objItem.Model
    Wscript.Echo "OtherIdentifyingInfo: " & objItem.OtherIdentifyingInfo
    Wscript.Echo "PartNumber: " & objItem.PartNumber
    Wscript.Echo "SerialNumber: " & objItem.SerialNumber
    Wscript.Echo "SMBIOSAssetTag: " & objItem.SMBIOSAssetTag

Open in new window


Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now