我需要编写一个函数,为运行Windows操作系统的特定机器生成唯一的id。
目前,我使用WMI查询各种硬件参数,将它们连接在一起并对它们进行哈希以生成唯一的id。我的问题是,我应该使用哪些建议参数呢?目前,我正在使用bios\cpu\disk数据的组合来生成唯一的id。如果每个指标有多个结果,我会使用第一个结果。
然而,我遇到了一个问题,一台双启动进入两个不同的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