2009-03-19 5 views
64

Comment obtenir le nom de la machine locale?Comment puis-je obtenir le nom de la machine locale en C#?

+0

Question double [lien] (http://stackoverflow.com/questions/459034/get-computer-name-from -within-a-windows-service) – Malachi

+0

Copie possible de [Comment obtenir le nom de l'ordinateur dans .NET] (http://stackoverflow.com/questions/1768198/how-do-i-get-the-computer- name-in-net) –

Répondre

125
+4

Me battre de 14 secondes. –

+0

Désolé :) Ces petites questions sont une sorte de tournage de dinde. J'ai supposé qu'il y aurait 4 réponses au moment où j'ai posté. – annakata

+1

Eh bien * maintenant * Je me sens coupable de la quantité ridicule de upvotes ... – annakata

44

Vous devriez pouvoir utiliser System.Environment.MachineName pour cela. Il est une propriété qui retourne une chaîne contenant le nom NetBIOS de l'ordinateur:

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

+0

LOL Je suppose que je n'aurais pas dû prendre quelques secondes supplémentaires pour lier l'article MSDN. – dnewcome

+1

Mais c'est une réponse plus complète, donc vous gagnerez quand même quelques upvotes ... –

+0

Pas de rancune +1 - SO c'est juste comme ça – annakata

35

De link text

Quatre façons d'obtenir votre réseau local/nom de la machine:

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

Plus d'informations à: Difference between SystemInformation.ComputerName, Environment.MachineName, and Net.Dns.GetHostName

+8

Est-ce qu'ils retournent la même chose ou y a-t-il une différence entre chacun d'entre eux? – epotter

13

Si vous voulez que le nom de domaine complet (nom de domaine complet) de l'ordinateur local, vous pouvez utiliser

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

Les autres méthodes ne retournera le nom local, sans domaine informations spécifiques. Par exemple, pour l'ordinateur myComp.myDomain.com, les méthodes précédentes retourneront myComp, alors que la méthode GetHostEntry retournera myComp.myDomain.com

+0

Dans les paramètres de l'ordinateur il y a une section pour le nom de l'ordinateur et le nom complet de l'ordinateur - c'est la seule façon que j'ai trouvée pour obtenir le nom complet de l'ordinateur lorsque tout le monde donne le nom de l'ordinateur. Je vous remercie! – user2494584

+0

hmm, donne juste 'localhost' pour moi, pas' FQDN'. – Thufir

Questions connexes