Ich muss eine Funktion schreiben, die eine ID generiert, die für einen bestimmten Computer mit einem Windows-Betriebssystem eindeutig ist.
Derzeit verwende ich WMI, um verschiedene Hardwareparameter abzufragen, sie zu verketten und sie zu hashen, um die eindeutige ID abzuleiten. Meine Frage ist, welche vorgeschlagenen Parameter sollte ich verwenden? Derzeit verwende ich eine Kombination aus BIOS \ CPU \ Datenträgerdaten, um die eindeutige ID zu generieren. Und ich verwende das erste Ergebnis, wenn für jede Metrik mehrere Ergebnisse vorhanden sind.
Ich bin jedoch auf ein Problem gestoßen, bei dem ein Computer, der zwei verschiedene Windows-Betriebssysteme doppelt startet, auf jedem Betriebssystem unterschiedliche Site-Codes generiert, was im Idealfall nicht der Fall sein sollte.
Als Referenz sind dies die Metriken, die ich derzeit verwende:
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