Sorry :) Diese kleinen Fragen sind eine Art Truthahnschießen. Ich ging davon aus, dass es zum Zeitpunkt meiner Veröffentlichung 4 Antworten geben würde.
Annakata
Nur eine Anmerkung, in .NET Standard auf Android scheint dies "localhost" zurückzugeben
apc
47
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:
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");
Geben sie dasselbe zurück oder gibt es einen Unterschied zwischen allen?
Epotter
19
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
In den Computereinstellungen gibt es einen Abschnitt für Computername und vollständigen Computernamen. Dies ist die einzige Möglichkeit, den vollständigen Computernamen zu erhalten, wenn alle anderen nur den Computernamen angeben. Vielen Dank!
user2494584
1
hmm, gibt nur localhostfür mich, nicht FQDN.
Thufir
0
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();
Antworten:
System.Environment.MachineName
Es funktioniert nur, wenn ein Maschinenname mehr als 15 Zeichen enthält .
quelle
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
quelle
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
quelle
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ückgegebenmyComp
, während dieGetHostEntry
Methode zurückgegeben wirdmyComp.myDomain.com
quelle
localhost
für mich, nichtFQDN
.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();
quelle