将NETBIOS域转换为FQDN(完全限定域名)

简而言之 – 如何将NETBIOS域转换为FQDN?

详细信息:假设我在域A中,并且我拥有域B的用户凭据,该域与域A具有信任关系(我可以对凭据进行身份validation)。 当我拥有的是来自该域的某个经过身份validation的用户的凭据(包括netbios域名)时,如何获取域B的FQDN?

我在C#编码,但COM / WMI / Win32解决方案也会受到欢迎。

这可能不是最佳的,但看起来您可以执行NetBIOS名称查询以获取IP地址,然后执行反向DNS查找以从中获取FQDN …

http://www.protocolbase.net/protocols/protocol_NBNS.php

(反向DNS步骤很容易查找)

您对其他域有什么样的访问权限? 您正在对其他域中的服务器/服务进行身份validation?

您是否可以对其他域中的域服务器进行ip访问? 如果是这样,那么你可以这样打电话:

DirectoryEntry rootDSE = new DirectoryEntry("LDAP://10.11.12.13/rootDSE", @"DOMAIN\Username", "Password"); Console.WriteLine(rootDSE.Properties["defaultNamingContext"].Value); 

(将10.11.12.13替换为域服务器地址)。

您将收到表示“DC = company,DC = org”表示FQDN的回复(只需通过删除DC部分并插入点来重建它)

使用WinNT提供程序绑定到域并筛选所有用户帐户。 开始枚举用户帐户。

如果用户帐户sAMAccount名称不包含字符串“duplicate”,则退出循环并使用NameTranslate对象查找帐户的LDAP名称。

LDAP名称的一部分是域FQDN。

嘿,这是一个软糖,但它的作用就像一个魅力。