通过计算机名称C#AD获取DNS名称

时间:2018-02-28 12:43:26

标签: c# active-directory

我试图找出如何在C#Windows窗体应用程序中从Active Directory获取DNS名称字段。 我有一个计算机名称,我想从Active目录中获取此计算机的DNS名称。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

DNS名称存储在计算机的AD对象上名为dNSHostName的属性中,因此您需要在AD中查找该对象并读取该属性。

这是一个示例,其中变量computerName具有计算机名称。

var search = new DirectorySearcher {
    Filter = $"(&(objectCategory=computer)(sAMAccountName={computerName}$))"
};
search.PropertiesToLoad.Add("dNSHostName");
var result = search.FindOne();

var dnsName = result.Properties["dNSHostName"][0].ToString();

我未在此SearchRoot设置DirectorySearcher,因此这只会搜索您已登录的当前域。