我需要編寫一個函數來生成一個對於運行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