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


当前回答

还有一种方法: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

其他回答

2个更有用的方法: System.Environment。GetEnvironmentVariable(“ComputerName”)

System.Environment。GetEnvironmentVariable("ClientName")来获取用户PC的名称,如果他们通过Citrix XenApp或终端服务(又名RDS, RDP,远程桌面)连接

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

System.Environment.MachineName

试试这个。

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;
}

用这一行简化一下

Environment.MachineName;