WMI Duplicate ProcessorID Problem on Cloned Operating Systems

A

Andy Pandy

Hi,


I use WMI to read a machine 'fingerprint' for licensing purposes. I
read Win32_Processor::processorID and Win32_BIOS::SerialNumber.


One of my customers installs their operating systems (Windows XP) by
disk cloning and then uses a utility to update the system with the
correct XP product key.


The problem is that on these cloned systems, WMI always returns the
same BIOS Serial Number and CPU ProcessorID meaning my license works on
all machines where it should only work on one.


I assumed that this was because the WMI repository is only written at
installation time and the cloning proceure had overwritten it so I just
needed to get it to refresh the repository with the correct values from
the hardware.


However, even after deleting the Win32_BIOS and Win32_Processor classes
(using 'wmic class win32_bios delete' and 'wmic class win32_processor
delete') and then recreating the classes by running 'mofcomp
c:\windows\system32\wbem\cimwi­n32.mof', the values are still
identical on all their systems.


Does anyone know how I can get WMI to reinitialise it's repository from
the actual hardware or does WMI not actually read these from the
hardware at all? I am sure that all the sytems do not actually have the
same processor id although I don't really know how to verify this.


Any help much appreciated.
Thanks Andy.
 
S

Scott McNairy \(MVP\)

The information is obtained dynamically from the Bios and Processor, it is
not stored statically within the WMI repository.

ProcessorID comes from SMBios structures, which can also be consumed by
SMBios.exe can you verify that this executable returns the same information
on both of the computers mentioned? If they are maybe it is a "cloning"
problem.
"SMBIOS|Type 4|Processor Information|Processor ID"

--
Scott McNairy
Microsoft MVP - Windows Server Management Infrastructure


Hi,


I use WMI to read a machine 'fingerprint' for licensing purposes. I
read Win32_Processor::processorID and Win32_BIOS::SerialNumber.


One of my customers installs their operating systems (Windows XP) by
disk cloning and then uses a utility to update the system with the
correct XP product key.


The problem is that on these cloned systems, WMI always returns the
same BIOS Serial Number and CPU ProcessorID meaning my license works on
all machines where it should only work on one.


I assumed that this was because the WMI repository is only written at
installation time and the cloning proceure had overwritten it so I just
needed to get it to refresh the repository with the correct values from
the hardware.


However, even after deleting the Win32_BIOS and Win32_Processor classes
(using 'wmic class win32_bios delete' and 'wmic class win32_processor
delete') and then recreating the classes by running 'mofcomp
c:\windows\system32\wbem\cimwi­n32.mof', the values are still
identical on all their systems.


Does anyone know how I can get WMI to reinitialise it's repository from
the actual hardware or does WMI not actually read these from the
hardware at all? I am sure that all the sytems do not actually have the
same processor id although I don't really know how to verify this.


Any help much appreciated.
Thanks Andy.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top