Pregunta

¿qué tipo de sistema de identificadores únicos '' se pueden obtener fácilmente usando C # (hash y luego identificar de forma exclusiva un sistema)? Pude tamaño de disco duro simplemente hash y cosas por el estilo, pero necesito para identificar y distinguir los equipos que están todos construidos por los mismos componentes, así que no puedo ir por eso.

Apreciar consejos, ideas, ejemplos de código!

¿Fue útil?

Solución

Esto es un buen comienzo con WMI ...

// Win32_CPU will work too
var search = new ManagementObjectSearcher( "SELECT * FROM Win32_baseboard" );
var mobos = search.Get();

foreach (var m in mobos)
{
  var serial = m["SerialNumber"]; // ProcessorID if you use Win32_CPU
}

Usted puede hacer eso con muchas piezas de hardware y llegar a una solución.

Otros consejos

Puede utilizar el System.Management espacio de nombres para obtener todas las cosas relacionadas con el hardware, ProcessorId, direcciones MAC, y mucha más información a continuación, puede desmenuzar juntos.

Tome un vistazo a este artículo:

http://www.codeproject.com/KB/system/GetHardwareInformation.aspx

Suponiendo que usted está hablando acerca de Windows, a continuación, cada instalación de Windows tiene un identificador de producto único (que se puede ver al ver las propiedades de Mi PC). Creo que esto se almacena en HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion:ProductId(REG_SZ). Supongo que quieres más que eso?

Puede utilizar WMI con C # para obtener un poco de información sobre el hardware.

ID de disco duro y Ethernet Dirección MAC son dos identificadores únicos comunes utilizados en los esquemas de identificación del sistema. La dirección MAC es, en teoría, único para cada tarjeta de red.

Tarjeta de red dirección MAC:

foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
    // probably need to do some filtering on ni.NetworkInterfaceType here
    Console.WriteLine(ni.GetPhysicalAddress());
}

Se podía ver en el uso de GUID

¿Qué es un GUID

Para aquellos de ustedes que no saben, un GUID (pronunciado goo'id - identificador único global) es un número entero de 128 bits que puede ser utilizado para identificar unívocamente algo. Es posible almacenar los usuarios o productos en su base de datos y que desea que de alguna manera identificar de forma única cada fila de la base de datos. Un enfoque común es crear un número entero autoincremental, otra forma sería crear un GUID para sus productos.

¿Cómo crear un GUID en C #

El método GUID se puede encontrar en el espacio de nombres System. El método GUID System.Guid.NewGuid () inicializa una nueva instancia de la clase GUID.

También hay un par de sobrecargas disponibles para aquellos que quieren el GUID con formato de una manera particular.

El siguiente ejemplo de salida en vivo voluntad genera el GUID, el código fuente está también por debajo.

Response.Write(@"<br>System.Guid.NewGuid().ToString() = " + System.Guid.NewGuid().ToString());
Response.Write(@"<br>System.Guid.NewGuid().ToString(""N"") = " + System.Guid.NewGuid().ToString("N"));
Response.Write(@"<br>System.Guid.NewGuid().ToString(""D"") = " + System.Guid.NewGuid().ToString("D"));
Response.Write(@"<br>System.Guid.NewGuid().ToString(""B"") = " + System.Guid.NewGuid().ToString("B"));
Response.Write(@"<br>System.Guid.NewGuid().ToString(""P"") = " + System.Guid.NewGuid().ToString("P"));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top