2009-03-19 20 views
64

Come si ottiene il nome del computer locale?Come posso ottenere il nome del computer locale in C#?

+0

Duplicate domanda [link] (http://stackoverflow.com/questions/459034/get-computer-name-from -within-a-windows-service) – Malachi

+0

Possibile duplicato di [Come ottengo il nome del computer in .NET] (http://stackoverflow.com/questions/1768198/how-do-i-get-the-computer- nome-in-rete) –

risposta

125
+4

Beat me di 14 secondi. –

+0

Scusate :) Queste piccole domande sono una specie di foto di tacchino. Ho pensato che ci sarebbero state 4 risposte nel momento in cui ho postato. – annakata

+1

Bene * ora * Mi sento in colpa per una ridicola quantità di upvotes ... – annakata

44

Si dovrebbe essere in grado di utilizzare System.Environment.MachineName per questo. Si tratta di una proprietà che restituisce una stringa contenente il nome NetBIOS del computer:

http://msdn.microsoft.com/en-us/library/system.environment.machinename.aspx

+0

LOL Suppongo che non avrei dovuto impiegare qualche secondo in più per collegare l'articolo di MSDN. – dnewcome

+1

Ma è una risposta più completa, quindi guadagnerai ancora dei voti ... –

+0

Nessun dubbio +1 - SO è proprio così – annakata

35

Da link text

Quattro modi per ottenere il vostro nome di rete/macchina locale:

string name = Environment.MachineName; 
string name = System.Net.Dns.GetHostName(); 
string name = System.Windows.Forms.SystemInformation.ComputerName; 
string name = System.Environment.GetEnvironmentVariable("COMPUTERNAME"); 

Maggiori informazioni su: Difference between SystemInformation.ComputerName, Environment.MachineName, and Net.Dns.GetHostName

+8

Restituiscono la stessa cosa o c'è qualche differenza tra tutti loro? – epotter

13

Se si desidera che il nome di dominio completo (Fully Qualified Domain Name) del computer locale, è possibile utilizzare

System.Net.Dns.GetHostEntry("localhost").HostName

Gli altri metodi restituirà solo il nome locale, senza alcuna informazione specifica dominio. Per esempio, per il computer myComp.myDomain.com, i metodi precedenti torneranno myComp, mentre il metodo GetHostEntry tornerà myComp.myDomain.com

+0

Nelle impostazioni del computer c'è una sezione per Nome computer e Nome computer completo - questo è l'unico modo che ho trovato per ottenere il nome completo del computer quando tutti gli altri danno solo il nome del computer. Grazie! – user2494584

+0

hmm, restituisce solo 'localhost' per me, non' FQDN'. – Thufir

Problemi correlati