NetBIOS名称的DNS名称 - API函数

问题描述 投票:0回答:3

是否有任何API函数可以解析用户或组目录对象的netbios名称。

我需要以下格式的输出:

  1. NameFullyQualifiedDN - 示例:CN = John Smith,OU = Users,DC = Engineering,DC = Microsoft,DC = Com
  2. NameDnsDomain - 示例:engineering.microsoft.com \ JSmith
  3. 提供DNS域名的任何其他格式。

注意:TranslateName函数失败,同时给出名称,如下所示:win2008domainnetbiosname \ username。

谢谢

c++ winapi vb6 ldap adsi
3个回答
0
投票

您可以使用IADsNameTranslateDsCrackNames来实现此目的。


0
投票

检查getaddrinfoGetAddrInfoW功能。尝试使用以下服务名称:

netbios-ns        137/tcp    nbname                 #NETBIOS Name Service
netbios-ns        137/udp    nbname                 #NETBIOS Name Service
netbios-dgm       138/udp    nbdatagram             #NETBIOS Datagram Service
netbios-ssn       139/tcp    nbsession              #NETBIOS Session Service

可以在MSDN page of GetAddrInfoW函数上找到一个例子。

当您得到正确答案时,请使用DnsHostnameToComputerName函数。

More info on computer names (MSDN).


0
投票

IADsNameTranslate或DsCrackNames无法获取此名称格式:

NameDnsDomain - 示例:engineering.microsoft.com \ JSmith

如果你看看IADsNameTranslate的DsCrackNames或DS_NAME_FORMAT EnumerationADS_NAME_TYPE_ENUM,你就会知道两个apis无法实现的第二个名称格式

© www.soinside.com 2019 - 2024. All rights reserved.