Domanda

che tipo di identificatori di sistema 'unici' può essere facilmente ottenuto utilizzando C # (per hash e poi identificare in modo univoco un sistema)? Potrei dimensioni HDD appena hash e cose del genere, ma ho bisogno di identificare e distinguere i computer che sono tutti costruiti dagli stessi componenti, quindi non posso andare da questo.

Apprezzare i suggerimenti, le idee, codice di esempio!

È stato utile?

Soluzione

Ecco un buon inizio 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
}

È possibile farlo con molti pezzi di hardware e trovare una soluzione.

Altri suggerimenti

È possibile utilizzare il System.Management namespace per ottenere tutte cose relative all'hardware, ProcessorId, indirizzi MAC, e molto di più informazioni si può quindi hash insieme.

Date un'occhiata a questo articolo:

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

Presumendo che si sta parlando di Windows, allora ogni installazione di Windows ha un ID prodotto unico (che si può vedere quando si visualizzano le proprietà di Risorse del computer). Penso che questo viene memorizzato in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion:ProductId(REG_SZ). Immagino che lei vuole di più?

È possibile utilizzare WMI con C # per ottenere un po 'di informazioni riguardo all'hardware.

disco rigido e ID Ethernet MAC Address sono due identificatori univoci comuni utilizzati in sistemi di identificazione del sistema. L'indirizzo MAC è, in teoria, unico per ogni scheda di rete.

Scheda di rete indirizzo MAC:

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

Si potrebbe considerare di usare di GUID

Che cosa è un GUID

Per quelli di voi che non conoscono, un GUID (goo'id pronunciato - identificatore globale univoco) è un numero intero a 128 bit che può essere utilizzato per identificare in modo univoco qualcosa. È possibile memorizzare utenti o prodotti nel database e si desidera in qualche modo identificare in modo univoco ogni riga nel database. Un approccio comune è quello di creare un intero autoincrementing, un altro modo sarebbe quello di creare un GUID per i vostri prodotti.

Come creare un GUID in C #

Il metodo GUID può essere trovato nel namespace System. Il metodo GUID System.Guid.NewGuid () inizializza una nuova istanza della classe GUID.

Ci sono anche un paio di sovraccarichi disponibili per quelli di voi che vogliono il GUID formattato in un modo particolare.

Il seguente esempio di output volontà vivo il GUID generato, il codice sorgente è anche inferiore.

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"));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top