Be sure to test. I have many computers where the Win32_BIOS class returns a
blank string. Probably older computers (Windows 2000), but one has XP. I
have used the Win32_LogicalDisk class to retrieve the volume serial number.
This uniquely identifies the logical disk, but will change if the drive is
replaced (or FDisk'd). For example:
=============
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,authenticationLev el=Pkt}!\\" _
& strComputer & "\root\cimv2")
Set colSettings = objRemote.ExecQuery _
("SELECT * FROM Win32_LogicalDisk WHERE Name = 'C:'")
For Each objDisk In colSettings
Wscript.Echo objDisk.VolumeSerialNumber
Next
=========
As noted, this is not a perfect solution, but it was the best I found that
worked on all computers (if they supported WMI and had a C: drive). Other
people have used OS serial number, but of course the OS can be re-installed.
--
Richard Mueller
MVP Directory Services
Hilltop Lab -
http://www.rlmueller.net
--
"Vilius Mockūnas" <> wrote in message
news:...
> I've just checked Win32_BaseBoard class SerialNumber property - and its
> empty - the box is lenovo think centre. So only Win32_BIOS serialnumber
> left - you are sure that this is unique across all computers of the same
> order ? Or maybe I should concatenate with something else to be sure ?
>
> V
>
>
> "Pegasus [MVP]" <> wrote in message
> news:...
>> It's a matter of preference.
>>
>> "Vilius Mockūnas" <> wrote in message
>> news:...
>>> Anoher guy suggested Win32_BaseBoard class SerialNumber property.
>>> Which one is better to use ?
>>>
>>> thanks
>>> Vilius
>>>
>>> "Pegasus [MVP]" <> wrote in message
>>> news:Ot$...
>>>>
>>>> "Vilius Mockūnas" <> wrote in message
>>>> news:%...
>>>>> Hello,
>>>>>
>>>>> How do I uniquely identify x86 windows machines using vbscript ?
>>>>> OS'es are XP or Vista.
>>>>> Id should be the same even os version changes (or windows are
>>>>> reinstalled with other product id).
>>>>> I've used computer names before that and realized that this is mistake
>>>>> because computer names are beeing changed, computers are beeing joined
>>>>> and unjoined from domain and etc.
>>>>>
>>>>> Maybe there is some hardware id or something, which looks the same
>>>>> even os was reinstalled ?
>>>>>
>>>>> thanks
>>>>> Vuilius
>>>>
>>>> You could use the BIOS serial number:
>>>>
>>>> strComputer = "Nalle"
>>>> Set objWMIService = GetObject("winmgmts:\\" & strComputer &
>>>> "\root\CIMV2")
>>>> Set colItems = objWMIService.ExecQuery( _
>>>> "SELECT * FROM Win32_BIOS",,48)
>>>> For Each objItem in colItems
>>>> Wscript.Echo "BIOS Serial Number: " & objItem.SerialNumber
>>>> Next
>>>>
>>>
>>>
>>
>>
>
>