如何在。net c#中获取计算机名


当前回答

试试这个。

public static string GetFQDN()
{
    string domainName = NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
    string hostName = Dns.GetHostName();
    string fqdn;
    if (!hostName.Contains(domainName))
        fqdn = hostName + "." +domainName;
    else
        fqdn = hostName;

    return fqdn;
}

其他回答

试试这个。

public static string GetFQDN()
{
    string domainName = NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
    string hostName = Dns.GetHostName();
    string fqdn;
    if (!hostName.Contains(domainName))
        fqdn = hostName + "." +domainName;
    else
        fqdn = hostName;

    return fqdn;
}

System.Environment.MachineName

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

您可以使用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代码创建器

FAQs

来自控制台或WinForms应用程序的System.Environment.MachineName。 来自web应用的HttpContext.Current.Server.MachineName System.Net.Dns.GetHostName()获取FQDN

参见如何在c# /中找到本地机器的FQDN。净吗?如果最后一个没有给你FQDN,而你需要它。

请参见“系统信息差异”。ComputerName,环境。MachineName和Net.Dns.GetHostName