Wie erhalte ich den lokalen Computernamen?
Wie erhalte ich den lokalen Computernamen?
Antworten:
System.Environment.MachineName
Es funktioniert nur, wenn ein Maschinenname mehr als 15 Zeichen enthält .
Sie sollten in der Lage sein, System.Environment.MachineName
dies zu verwenden. Es ist eine Eigenschaft, die eine Zeichenfolge zurückgibt, die den netBIOS-Namen des Computers enthält:
http://msdn.microsoft.com/en-us/library/system.environment.machinename.aspx
Aus dem Linktext
Vier Möglichkeiten, um Ihren lokalen Netzwerk- / Computernamen abzurufen:
string name = Environment.MachineName;
string name = System.Net.Dns.GetHostName();
string name = System.Windows.Forms.SystemInformation.ComputerName;
string name = System.Environment.GetEnvironmentVariable("COMPUTERNAME");
Weitere Informationen finden Sie unter: Unterschied zwischen SystemInformation.ComputerName, Environment.MachineName und Net.Dns.GetHostName
Wenn Sie den vollqualifizierten Domänennamen (FQDN) des lokalen Computers möchten, können Sie diesen verwenden
System.Net.Dns.GetHostEntry("localhost").HostName
Die anderen Methoden geben nur den lokalen Namen ohne domänenspezifische Informationen zurück. Für den Computer myComp.myDomain.com
werden beispielsweise die vorherigen Methoden zurückgegeben myComp
, während die GetHostEntry
Methode zurückgegeben wirdmyComp.myDomain.com
localhost
für mich, nicht FQDN
.
Mein Computername ist mehr als 15 Zeichen, also benutze ich hostname.exe, um den Namen in voller Länge zu erhalten:
Process proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.FileName = "c:/windows/system32/hostname.exe";
proc.Start();
var hostName = proc.StandardOutput.ReadLine();