我想開發一個應用程序(C#)來查詢LDAP服務器。我不知道名爲查詢的實際服務器 - 有沒有辦法找到使用標準的Windows工具或.NET中的東西?我怎樣才能找到我的Windows域的服務器主機LDAP?
我也聽說有服務器名稱(ldap:// server /)並不總是需要的,只要我在我的查詢字符串中有dc = domain,dc = com,但我已經迄今爲止能夠以這種方式進行工作。
任何提示?
感謝
我想開發一個應用程序(C#)來查詢LDAP服務器。我不知道名爲查詢的實際服務器 - 有沒有辦法找到使用標準的Windows工具或.NET中的東西?我怎樣才能找到我的Windows域的服務器主機LDAP?
我也聽說有服務器名稱(ldap:// server /)並不總是需要的,只要我在我的查詢字符串中有dc = domain,dc = com,但我已經迄今爲止能夠以這種方式進行工作。
任何提示?
感謝
如果你使用AD可以使用serverless binding找到爲默認域的域控制器,然後使用LDAP:// RootDSE的,以獲取有關目錄服務器的信息,如鏈接的文章中描述。
如果您對該機是AD域的一部分,它應該有它的名字服務器設置爲AD名稱服務器(或希望使用將最終解決您的AD域的DNS服務器的路徑)。使用您的DC =域,DC = COM的例子,如果你在AD域名服務器查找domain.com它將返回每個AD控制器的IP地址的列表。例如由我公司(W /域名改變了,但除此之外,它是一個真實的例子):
mokey 0 /home/jj33 > nslookup example.ad Server: 172.16.2.10 Address: 172.16.2.10#53 Non-authoritative answer: 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
注意我實際上是一個非AD機使查詢,但我們的UNIX名稱服務器知道送查詢我們的AD域(example.ad)到AD DNS服務器。
我敢肯定有超級光滑的Windows式的方式來做到這一點,但我喜歡使用DNS方法時,我需要找到從非Windows服務器的LDAP服務器。
AD登記服務位置(SRV)在其DNS服務器資源記錄,您可以查詢得到的端口和負責任的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正常工作的情況下,廣告域名服務器)
請參閱Active Directory SRV Records和Windows 2000 DNS white paper瞭解更多信息。
爲了澄清,<< your.AD.domain >>可能是您電子郵件地址後面的部分。 – icfantv 2011-09-01 18:01:52