我需要编写一个函数,该函数生成的 id 对于运行 Windows 操作系统的给定机器是唯一的。
目前,我正在使用 WMI 查询各种硬件参数,并将它们连接在一起,然后对它们进行散列以获得惟一的 id。我的问题是,我应该使用哪些建议参数? 目前,我使用 Bios CPU 磁盘数据的组合来生成唯一的 id。如果每个度量有多个结果,则使用第一个结果。
然而,我遇到了一个问题,一台双重引导到2个不同的 Windows 操作系统的机器在每个操作系统上生成不同的站点代码,这在理想情况下不应该发生。
作为参考,下面是我目前使用的度量标准:
Win32_Processor:UniqueID,ProcessorID,Name,Manufacturer,MaxClockSpeed
Win32_BIOS:Manufacturer
Win32_BIOS:SMBIOSBIOSVersion,IdentificationCode,SerialNumber,ReleaseDate,Version
Win32_DiskDrive:Model, Manufacturer, Signature, TotalHeads
Win32_BaseBoard:Model, Manufacturer, Name, SerialNumber
Win32_VideoController:DriverVersion, Name