我用的是 GetSystemIdForPublisher() 来识别机器ID。根据文档,它们是唯一的,但我有一些机器返回相同的ID。这些机器完全不相关,也没有共同的历史。它们位于不同的国家,属于不同的用户。这些机器的Windows版本是最新的Windows 1909。10.0.18363
更新。
文档中明确指出。
该方法将首先尝试使用可信平台模块(TPM)(如果存在)来获取ID。如果TPM不存在,该方法将尝试从统一可扩展固件接口(UEFI)获取ID。如果这两个来源都不可用,本方法将返回一个由Windows注册表支持的ID。在Windows注册表的情况下,该ID将不满足上述所有保证。例如,如果一个系统没有TPM或UEFI支持,因此从注册表中获得了一个ID,那么干净地安装Windows将导致返回一个新的、不同的ID。 该方法的调用者应该参考返回的SystemIdentificationInfo的Source属性来确定ID是从哪里获得的,以便理解所提供的保证。
就我所见,这些语句都没有向我解释这里发生了什么。有谁知道这是怎么回事吗?任何帮助都是非常感激的!
补充一下。
我们收到了来自两个不同大陆的两个人的cpu-z报告的反馈,他们使用相同的机器ID。
用户A:
Mainboard Model Z87M Extreme4 (0x00000444 - 0xECE9B6D4)
UEFI Yes
BIOS Vendor American Megatrends Inc.
BIOS MSG 63-0100-000001-00101111-1xxxx5-Chipset
BIOS Date 12/10/15
Mainboard Vendor 000001
用户B:
Mainboard Model 151-BE-E097 (0x0000025D - 0x0A74C7F0)
UEFI Yes
BIOS Vendor American Megatrends Inc.
BIOS MSG 63-0100-000001-00101111-0XXXX5-Chipset
BIOS Date 09/10/15
Mainboard Vendor 000001
当调用GetSystemIdForPublisher()时,两个人都得到了相同的标识符。
XlPRXXXlAPXk-yFXXXJUv3-XXXXXXXXXXXXX = [source is UEFI, ]
==> X included for obfuscation
我们在全球大约有60个客户的电脑返回的是这个确切的ID。