Windows Automated Installations – What to call workstations

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:\\.\root\CIMV2”)
   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:\\.\root\cimv2: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