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.MachineNamedies 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.comwerden beispielsweise die vorherigen Methoden zurückgegeben myComp, während die GetHostEntryMethode zurückgegeben wirdmyComp.myDomain.com
localhostfü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();