2009-04-14 9 views
34

LDAPサーバーを照会するためのアプリケーション(C#)を開発しようとしています。私は実際のサーバがクエリに名前を知らない - そこに標準のWindowsツールや.NETで何かを見つける方法はありますか?Windowsドメイン上のどのホストのLDAPホストを見つけることができますか?

また、私はクエリ文字列にdc = domain、dc = comがある限り、サーバー名(ldap:// server /)を持っているという噂は必ずしも必要ではないと聞いてきましたが、これまでこの方法で作業することができました。

ヒント?

おかげ

答えて

15

あなたはLDAP使用し、その後、デフォルトのドメインのドメインコントローラを検索するserverless bindingを使用することができますAD使用している場合:リンク先の記事で説明したように、ディレクトリサーバの情報を取得する//でrootDSEを。

12

あなたが接続しているマシンがADドメインに属している場合は、ネームサーバーをADネームサーバーに設定する必要があります(または、おそらくADドメインを解決するDNSサーバーパスを使用することをお勧めします)。 dc = domain、dc = comの例を使用して、ADネームサーバでdomain.comを検索すると、各ADコントローラのIPのリストが返されます。私の会社から(ドメイン名が変更しましたが、それ以外の場合は実際の例です/ w)の例:私は実際には非ADマシンからクエリを作ってるんだが、私たちのUNIXのネームサーバが送信するために知って

 
    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ドメイン(example.ad)をAD DNSサーバーに問い合わせます。

私はこれを行うには非常に滑らかなwindowsyの方法があると確信していますが、私は非WindowsサーバーからLDAPサーバーを見つける必要があるときにDNSメソッドを使用するのが好きです。

93

ADは、ドメイン内の担当LDAPサーバーのポートとホスト名を取得するために照会できるDNSサーバー内のサービスロケーション(SRV)リソースレコードを登録します。

ただ、コマンドラインでこれを試してみてください。

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 RecordsWindows 2000 DNS white paperを参照してください。詳細については。

+0

明確にするために、<< your.AD.domain >>はおそらくあなたのメールアドレスの@の後の部分です。 C:\> nslookupを >セットタイプ=すべて > _ldap._tcp _ldap._tcp << your.AD.domain1 >> SRVサービス所在地:あなたはまた、すべての利用可能なドメインを取得するには、ドメイン名を省略することができ – icfantv

+0

優先度= 0 重量= 100 ポート= 389 SVRホスト名= << ldap.hostname1 >><< your.AD.domain1 >> _ldap._tcp。<< your.AD.domain2 >> SRVサービスロケーション: 優先= 0 重量= 100 ポート= 389 SVRのホスト名= << ldap.hostname1 >><< your.AD.domain2 –

+0

それちょうど '_ldap._tcp'も'タイプ= ALL'、ないタイプ – deltree

関連する問題