2009-04-14 24 views
34

मैं एक आवेदन (सी #) एक LDAP सर्वर क्वेरी करने के लिए विकसित कोशिश कर रहा हूँ। मुझे क्वेरी करने के लिए नामित वास्तविक सर्वर नहीं पता - क्या मानक विंडोज टूल्स या .NET में कुछ का उपयोग करने का कोई तरीका है?मैं कैसे पता लगा सकता हूं कि कौन सा सर्वर मेरे विंडोज डोमेन पर एलडीएपी होस्ट करता है?

मैंने अफवाहें भी सुनाई है कि सर्वर नाम (ldap: // server /) होने की हमेशा आवश्यकता नहीं है जब तक मुझे मेरी क्वेरी स्ट्रिंग में डीसी = डोमेन, डीसी = कॉम मिल गया है, लेकिन मेरे पास है अब तक इस तरह से काम करने में सक्षम है।

कोई सुझाव?

धन्यवाद

उत्तर

15

क्या आप serverless binding उपयोग कर सकते हैं डिफ़ॉल्ट डोमेन के लिए डोमेन नियंत्रक का पता लगाने की है, तो LDAP का उपयोग ई उपयोग कर रहे हैं: // RootDSE निर्देशिका सर्वर के बारे में जानकारी प्राप्त करने के लिए, लिंक किए गए आलेख में वर्णित के रूप में ।

12

मशीन आप पर हैं ई डोमेन का हिस्सा है, तो उसके नाम सर्वर ई नाम सर्वर करने के लिए सेट (या उम्मीद है कि एक DNS सर्वर रास्ता है कि अंततः, आपका विज्ञापन डोमेन का समाधान हो जाएगा का उपयोग करें) होना चाहिए। डीसी = डोमेन, डीसी = कॉम के अपने उदाहरण का उपयोग, यदि आप ई नाम सर्वर में domain.com देखो यह प्रत्येक विज्ञापन नियंत्रक के आईपी की एक सूची वापस आ जाएगी। उदाहरण मेरी कंपनी से (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 

नोट मैं वास्तव में एक गैर-ई मशीन से क्वेरी बना रहा हूं, लेकिन हमारे यूनिक्स नाम सर्वर भेजने के लिए पता हमारे एडी डोमेन (example.ad) के लिए एडी DNS सर्वर पर पूछताछ।

मैं वहाँ एक सुपर चालाक windowsy तरीका यह है यकीन है, लेकिन मैं डीएनएस विधि का उपयोग कर जब मैं एक गैर विंडोज़ सर्वर से LDAP सर्वर खोजने की जरूरत है की तरह है।

93

ई सेवा स्थान (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>> 

(बशर्ते कि आपका नेम सर्वर ई नेम सर्वर जो मामले ई ठीक ढंग से काम के लिए होना चाहिए)

कृपया देखें Active Directory SRV Records और Windows 2000 DNS white paper अधिक जानकारी के लिए।

+0

स्पष्ट करने के लिए, << your.AD.domain >> शायद अपने ईमेल पते में @ के बाद हिस्सा है। – icfantv

+0

तुम भी सभी उपलब्ध डोमेन पुनः प्राप्त करने के डोमेन नाम हटा दें सकता है: C: \> nslookup > सेट प्रकार = सभी > _ldap._tcp _ldap._tcp << your.AD.domain1 >> SRV सेवा स्थान।: प्राथमिकता = 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

यह 'प्रकार = all', नहीं प्रकार – deltree

संबंधित मुद्दे

 संबंधित मुद्दे