我需要编写一个函数来生成一个对于运行Windows操作系统的机器来说唯一的ID。生成一个唯一的机器ID
目前,我正在使用WMI来查询各种硬件参数并将它们连接在一起并对它们进行散列以导出唯一的ID。我的问题是,我应该使用什么建议的参数? 目前,我正在使用bios \ cpu \ disk数据的组合来生成唯一的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
不,他们不是。很多制造商允许你改变它们。这对于使用群集非常有帮助,因为某些供应商为您提供具有相同MAC地址的所有计算机(几年前我们遇到过这个问题)。 – gizmo 2008-09-19 05:40:25
我站好了。 – 2008-09-19 05:43:53
在许多情况下,这是一个有效的想法,问题并不指定欺骗手段或离线 - 如果您想在网络中识别,您通常需要生成唯一ID – Hurda 2012-03-01 13:20:52