代码之家  ›  专栏  ›  技术社区  ›  HS.

生成唯一的机器ID

  •  97
  • HS.  · 技术社区  · 17 年前

    我需要编写一个函数来生成一个对于运行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
    
    15 回复  |  直到 17 年前
        2
  •  71
  •   bluish dmajkic    14 年前

    MachineGuid HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography

        4
  •  2
  •   Jonathan Adelson    17 年前

        5
  •  2
  •   bluish dmajkic    14 年前

        6
  •  1
  •   Kyle Cronin    17 年前

        7
  •  1
  •   bluish dmajkic    14 年前

    Machine SID

    System.DirectoryServices

        8
  •  1
  •   bluish dmajkic    14 年前

    Name DriverVersion Clockspeed

        10
  •  0
  •   Brian Matthews    17 年前

        11
  •  0
  •   bfabry    17 年前

        12
  •  0
  •   Christopher Cashell    17 年前

        13
  •  0
  •   user2515235    7 年前

    Private Function GetUUID() As String
        Dim GetDiskUUID As String = "get-wmiobject Win32_ComputerSystemProduct  | Select-Object -ExpandProperty UUID"
        Dim X As String = ""
        Dim oProcess As New Process()
        Dim oStartInfo As New ProcessStartInfo("powershell.exe", GetDiskUUID)
        oStartInfo.UseShellExecute = False
        oStartInfo.RedirectStandardInput = True
        oStartInfo.RedirectStandardOutput = True
        oStartInfo.CreateNoWindow = True
        oProcess.StartInfo = oStartInfo
        oProcess.Start()
        oProcess.WaitForExit()
        X = oProcess.StandardOutput.ReadToEnd
        Return X.Trim()
    End Function
    
        14
  •  -1
  •   bluish dmajkic    14 年前