Necesito escribir una función que genere una identificación que sea única para una máquina determinada que ejecuta un sistema operativo Windows.
Actualmente, estoy usando WMI para consultar varios parámetros de hardware y concatenarlos juntos y aplicarles hash para obtener la identificación única. Mi pregunta es, ¿cuáles son los parámetros sugeridos que debo usar? Actualmente, estoy usando una combinación de datos de bios \ cpu \ disk para generar la identificación única. Y estoy usando el primer resultado si hay varios resultados para cada métrica.
Sin embargo, me encontré con un problema en el que una máquina que arranca dos veces en 2 sistemas operativos Windows diferentes genera códigos de sitio diferentes en cada sistema operativo, lo que idealmente no debería suceder.
Como referencia, estas son las métricas que estoy usando actualmente:
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