如何在.NET中获取计算机名称

我如何获得.NET中的计算机名称c#

  • System.Environment.MachineName从一个控制台或WinForms应用程序。
  • HttpContext.Current.Server.MachineName从一个Web应用程序
  • System.Net.Dns.GetHostName()获取FQDN

请参阅如何在C#/ .NET中查找本地计算机的FQDN? 如果最后一个不给你的FQDN,你需要它。

查看有关SystemInformation.ComputerName,Environment.MachineName和Net.Dns.GetHostName之间差异的详细信息

System.Environment.MachineName

或者,如果您使用Winforms,则可以使用System.Windows.Forms.SystemInformation.ComputerName ,它将返回与System.Environment.MachineName完全相同的值。

 System.Environment.MachineName 
 string name = System.Environment.MachineName; 

那么还有一种方法:Windows Management Instrumentation

 using System.Management; try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT Name FROM Win32_ComputerSystem"); foreach (ManagementObject queryObj in searcher.Get()) { Console.WriteLine("-----------------------------------"); Console.WriteLine("Win32_ComputerSystem instance"); Console.WriteLine("-----------------------------------"); Console.WriteLine("Name: {0}", queryObj["Name"]); } } catch (ManagementException e) { // exception handling } 

MSDN

WMI

WMI代码创build者

常见问题解答

您可以使用Environment.MachineName访问机器名称。

尝试这个:

 string[] computer_name = System.Net.Dns.GetHostEntry(System.Web.HttpContext.Current.Request.ServerVariables["remote_addr"]).HostName.Split(new Char[] { '.' }); return computer_name[0].ToString(); 

我将Web项目的<p>括号的.InnerHtml设置为用户的计算机名称,操作如下:

HTML:

  <div class="col-md-4"> <h2>Your Computer Name Is</h2> <p id="pcname" runat="server"></p> <p> <a class="btn btn-default" href="#">Learn more &raquo;</a> </p> </div> 

C#:

 using System; using System.Web.UI; namespace GetPCName { public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { pcname.InnerHtml = Environment.MachineName; } } }