c# - 获取域名

扫码查看

我的计算机在域(Active Directory)中,我需要动态获取域名。我在互联网上找到以下代码:

SelectQuery query = new SelectQuery("Win32_ComputerSystem");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
{
    foreach (ManagementObject mo in searcher.Get())
    {
        if ((bool)mo["partofdomain"])
        {
            this.Domain = mo["domain"].ToString();
            break;
        }
    }
 }

它完全可以按我的要求运行,并且可以按我的要求返回完全的域名(当我以管理员身份登录时)。如果用户不是域管理员,则存在Access denied异常。

有人与非域管理员用户一起知道如何获得域吗?

注意:我已经在Internet System.Environment.UserDomainName;上找到了此解决方案,但它只给了我一部分域名。

IE。我的域名是:something.domain.com并且UserDomainName仅返回something

最佳答案

为什么要使用WMI?您不能使用标准的.NET功能吗?

System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;

10-04 21:40
查看更多