One of the big problems I have found when creating build systems for companies is what to call machines when they are being built.
A good idea a few companies I have worked at is to use the vendor serial number that is affixed and labeled all over the machines. On Dell machines its called the ‘Service Tag Number’
How to pipe that into installations is another story but if you are doing simple cloning using Ghost, PQ or Altris then this handy VBscript may come in useful. It extracts the Dell Tag number using WMI and then sets a SYSTEM environment varible called DellTag
BTW – I’m not a hardcore coder so if anyone can make it better then please advise! Fragments were made using the excellent Microsoft Scriptomatic2 tool.
‘ DellSN.vbs
‘
‘ Version 1.0 – Kevin Iddles, Yawns.com Limited
‘
‘ Script to extract Dell Tag Number from BIOS using WMI
‘ Outputs Dell tag to screen and sets a SYSTEM environment varible accordingly.
‘
‘ Call from CMD by using —- cscript //NoLogo DellSn.vbs
‘ Obviously will need to open a new session to pickup the setting
‘On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
Dim strSN
‘ Start Get the Dell Asset number from BIOS
Set objWMIService = GetObject(“winmgmts:\.rootCIMV2”)
Set colItems = objWMIService.ExecQuery(“SELECT SerialNumber FROM Win32_BIOS”, “WQL”, wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
WScript.Echo objItem.SerialNumber
strSN = objItem.SerialNumber
Next
‘ Debug – Echo results set in var
‘ Wscript.Echo strSN
‘ Start Set Env
‘
‘ This gets set as a SYSTEM varible – user must be a local administrator for correct permissions
Set EnvClass = GetObject(“WinMgmts:\.rootcimv2:Win32_Environment”)
‘ Make a new instance of that class
Set EnvVarInst = EnvClass.SpawnInstance_
‘ File in the key props and props of interest on that instance
EnvVarInst.UserName = “<SYSTEM>”
EnvVarInst.Name = “DellTag”
EnvVarInst.VariableValue = strSN
‘ Write the new instance in to WMI
EnvVarInst.Put_
‘ End Set Env
Leave a Reply