我试图找出如何从我的C#Windows窗体应用程序中的Active Directory获取DNS名称字段。我有一个计算机名称,我想从Active目录中获取此计算机的DNS名称。有什么建议?
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
,所以这只会搜索您登录的当前域名。