我试图开发一个应用程序(C#)来查询LDAP服务器。 我不知道要查询的实际服务器名称 - 是否有一种使用标准Windows工具或.NET中的某些方法来找出它的方式?
我还听说过谣言,即只要我的查询字符串中有dc = domain,dc = com,就不一定需要具有服务器名称(ldap:// server /),但到目前为止,我一直以这种方式使用它。
有什么提示吗?
谢谢
我试图开发一个应用程序(C#)来查询LDAP服务器。 我不知道要查询的实际服务器名称 - 是否有一种使用标准Windows工具或.NET中的某些方法来找出它的方式?
我还听说过谣言,即只要我的查询字符串中有dc = domain,dc = com,就不一定需要具有服务器名称(ldap:// server /),但到目前为止,我一直以这种方式使用它。
有什么提示吗?
谢谢
AD在其DNS服务器中注册了服务位置 (SRV) 资源记录,您可以查询该记录以获取域中负责LDAP服务器的端口和主机名。
只需在命令行上尝试此操作:
C:\> nslookup
> set types=all
> _ldap._tcp.<<your.AD.domain>>
_ldap._tcp.<<your.AD.domain>> SRV service location:
priority = 0
weight = 100
port = 389
svr hostname = <<ldap.hostname>>.<<your.AD.domain>>
(假设您的名称服务器是AD名称服务器,这应该是AD正常运行的情况)
有关更多信息,请参阅Active Directory SRV Records和Windows 2000 DNS白皮书。
mokey 0 /home/jj33 > nslookup example.ad Server: 172.16.2.10 Address: 172.16.2.10#53请注意,我实际上是从一个非AD机器进行查询,但我们的Unix名称服务器知道将我们AD域(example.ad)的查询发送到AD DNS服务器。
非权威答案: Name: example.ad Address: 172.16.6.2 Name: example.ad Address: 172.16.141.160 Name: example.ad Address: 172.16.7.9 Name: example.ad Address: 172.19.1.14 Name: example.ad Address: 172.19.1.3 Name: example.ad Address: 172.19.1.11 Name: example.ad Address: 172.16.3.2