如何在C#中获取本地计算机名?

如何在C#中获取本地计算机名?,c#,dns,hostname,C#,Dns,Hostname,如何获取本地计算机名? 除非您能够使用System.Environment.MachineName,否则它可以工作。该属性返回包含计算机netBIOS名称的字符串: 来自 获取本地网络/计算机名称的四种方法: string name = Environment.MachineName; string name = System.Net.Dns.GetHostName(); string name = System.Windows.Forms.SystemInformation.Computer

如何获取本地计算机名?


除非您能够使用
System.Environment.MachineName
,否则它可以工作。该属性返回包含计算机netBIOS名称的字符串:

来自

获取本地网络/计算机名称的四种方法:

string name = Environment.MachineName;
string name = System.Net.Dns.GetHostName();
string name = System.Windows.Forms.SystemInformation.ComputerName;
string name = System.Environment.GetEnvironmentVariable("COMPUTERNAME");
更多信息,请访问:

如果需要本地计算机的FQDN(完全限定域名),可以使用

System.Net.Dns.GetHostEntry(“localhost”).HostName


其他方法将只返回本地名称,而不返回任何特定于域的信息。例如,对于计算机
myComp.myDomain.com
,前面的方法将返回
myComp
,而
GetHostEntry
方法将返回
myComp.myDomain.com

我的计算机名超过15个字符,因此我使用hostname.exe获取完整的名称:

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();

抱歉:)这些小问题有点像火鸡射击。我认为在我发布的时候会有4个答案。只是一个注释,在Android上的.NET标准中,这似乎返回“localhost”重复问题计算机设置中可能存在重复计算机名和完整计算机名有一个部分--这是我找到的唯一一种在其他人只给出计算机名的情况下获取完整计算机名的方法。非常感谢。嗯,只给我
localhost
,而不是
FQDN