Sprawa dość prosta do wykonania używając WMI i CIM_BIOSElement
result=-1 Set objSet = GetObject("WinMgmts:").ExecQuery("select * from CIM_BIOSElement") If Err.Number <> 0 or objSet.count=0 Then Wscript.Echo "Something went wrong " & Hex(err.number), err.description, err,source result=1 End If For Each obj in objSet If Len(obj.SerialNumber)>4 and Len(obj.SerialNumber)<60 Then sSerial=obj.SerialNumber result=0 End If Next WScript.echo sSerial WScript.Quit(result)
W starszych modelach laptopów zdarzało się, że Windows rejestrował w WMI 2 numery seryjne laptopa i stacji dokującej.
Sprawdzenie długości zwróconego stringa aż do 60 znaków ma za zadanie objąć maszyny wirtualne na vmware które mają numery seryjne długie na 55 znaków.