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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过计算机名称C#AD获取DNS名称相关的知识,希望对你有一定的参考价值。

我试图找出如何从我的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,所以这只会搜索您登录的当前域名。

以上是关于通过计算机名称C#AD获取DNS名称的主要内容,如果未能解决你的问题,请参考以下文章

ANSI C 如何在 Linux 中获取名称服务器(DNS)地址? [复制]

如何获取本机电脑的AD域名称

获取计算机名称[重复]

windows server2019 AD域名怎么修改

如何在 c-ares 中获取 DNS 服务器

Linux下如何获取网卡信息