मैं अपने LDAP कनेक्शन स्ट्रिंग का पता कैसे लगा सकता हूं?


108

हम सक्रिय निर्देशिका को चलाने वाले एक कॉर्पोरेट नेटवर्क पर हैं और हम कुछ LDAP सामान (सक्रिय निर्देशिका सदस्यता प्रदाता, वास्तव में) का परीक्षण करना चाहते हैं और अब तक, हम में से कोई भी यह पता नहीं लगा सकता है कि हमारा LDAP कनेक्शन स्ट्रिंग क्या है। क्या किसी को पता है कि हम इसे खोजने के बारे में कैसे जा सकते हैं? केवल एक चीज जो हम जानते हैं वह है डोमेन हम पर हैं।

जवाबों:


101

ASP.NET सक्रिय निर्देशिका सदस्यता प्रदाता एक निर्दिष्ट उपयोगकर्ता नाम, पासवर्ड और "कनेक्शन स्ट्रिंग" का उपयोग करके सक्रिय निर्देशिका के लिए एक प्रामाणिक बाइंड करता है। कनेक्शन स्ट्रिंग LDAP सर्वर के नाम से बना है, और कंटेनर ऑब्जेक्ट का पूर्ण-योग्य पथ जहां उपयोगकर्ता निर्दिष्ट है।

कनेक्शन स्ट्रिंग URI से शुरू होती है LDAP://

सर्वर नाम के लिए, आप उस डोमेन के डोमेन नियंत्रक के नाम का उपयोग कर सकते हैं - मान लें कि "dc1.corp.domain.com"। यह हमें इस LDAP://dc1.corp.domain.com/प्रकार देता है ।

अगला बिट कंटेनर ऑब्जेक्ट का पूरी तरह से योग्य पथ है जहां बाध्यकारी उपयोगकर्ता स्थित है। मान लें कि आप "व्यवस्थापक" खाते का उपयोग कर रहे हैं और आपके डोमेन का नाम "corp.domain.com" है। "प्रशासक" खाता "उपयोगकर्ता" नामक एक कंटेनर में है जो डोमेन की जड़ से एक स्तर नीचे स्थित है। इस प्रकार, "उपयोगकर्ता" कंटेनर का पूरी तरह से योग्य डीएन होगा CN=Users,DC=corp,DC=domain,DC=com:। यदि आप जिस उपयोगकर्ता के साथ बाइंड कर रहे हैं, वह कंटेनर के बजाय OU में है, तो पथ में "OU = ou-name" शामिल होगा।

इसलिए, एक OU नाम के एक खाते का उपयोग करके एक OU नाम Service Accountsका एक उप-OU नाम दिया गया Corp Objectsहै, जिसका नाम उप-OU एक डोमेन है जिसका corp.domain.comपूरी तरह से योग्य पथ होगा OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com

LDAP://dc1.corp.domain.com/कंटेनर के लिए पूरी तरह से योग्य पथ के साथ गठबंधन करें जहां बाध्यकारी उपयोगकर्ता स्थित है (जैसे, कहते हैं, LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com) और आपको अपना "कनेक्शन स्ट्रिंग" मिल गया है।

(आप कनेक्शन स्ट्रिंग में डोमेन नियंत्रक के नाम के विपरीत डोमेन के नाम का उपयोग कर सकते हैं। अंतर यह है कि डोमेन का नाम डोमेन में किसी भी डोमेन नियंत्रक के आईपी पते को हल करेगा । यह अच्छा और बुरा दोनों हो सकता है। आप सदस्यता प्रदाता के काम करने के लिए उठने और चलने के लिए किसी एक डोमेन नियंत्रक पर भरोसा नहीं कर रहे हैं, लेकिन नाम का पता लगाने के लिए होता है, कहते हैं, सुदूर स्थान में डीसी एक डीसी नेटवर्क कनेक्टिविटी के साथ तो आपको सदस्यता के साथ समस्या हो सकती है प्रदाता काम कर रहा है।)


SBS 2008 के साथ कम से कम, ऐसा लगता है कि वे OU के लिए स्ट्रिंग में मानक "OU" उपसर्ग के अनुरूप होना शुरू हो गए हैं: CN = आपका नाम, OU = उपयोगकर्ता, DC = उदाहरण, DC = स्थानीय हम कार्यात्मक स्तर पर चल रहे हैं 2003.
ग्रेवीफेस

बहुत बढ़िया जवाब। क्या मैं कनेक्शन स्ट्रिंग में विदेशी डोमेन नियंत्रक को क्वेरी खाते के लॉगिन विवरण प्रदान कर सकता हूं?
डैन

तो आपका मतलब है कि, ActiveDirectory तक पहुँचने वाली रिमोट मशीन अपने डोमेन में होनी चाहिए? क्या होगा यदि मेरी स्थानीय मशीन अपने डोमेन में नहीं है? यदि मेरी मशीन किसी कार्यसमूह में है, तो क्या मुझे उपयोगकर्ता को प्रमाणित करने के लिए 2 क्रेडेंशियल्स पास करने की आवश्यकता है? मेरा मतलब है, एक WindowsServer मशीन में प्रवेश करने के लिए और दूसरा ActiveDirectory उपयोगकर्ता के उपयोगकर्ता नाम और पासवर्ड को मान्य करने के लिए है। क्या मैं सही हू?
दिनेश कुमार P

@ दिनेशकुमार: मुझे आपको परेशान करने में थोड़ी परेशानी हो रही है। सदस्यता प्रदाता सक्रिय निर्देशिका (AD) में मान्य क्रेडेंशियल का उपयोग निर्देशिका को बाइंड करने के लिए करता है। सदस्यता प्रदाता चलाने वाले कंप्यूटर को किसी भी AD डोमेन का सदस्य होने की आवश्यकता नहीं है, लेकिन आपको इसे कार्य करने के लिए AD से मान्य क्रेडेंशियल के साथ कॉन्फ़िगर करना होगा।
इवान एंडरसन

2
@ArthurRonald - अनपेक्षित उपयोगकर्ता डिफ़ॉल्ट रूप से सक्रिय निर्देशिका को बाइंड और क्वेरी कर सकते हैं। वास्तव में, यह शायद सबसे अच्छा है यदि आप एक अप्रकाशित उपयोगकर्ताओं का उपयोग करते हैं। सक्रिय निर्देशिका में काफी समृद्ध एसीएल मॉडल है, और आप बहुत ही दानेदार शैली में वस्तुओं और विशेषताओं तक पहुंच को नियंत्रित कर सकते हैं। आपको एक ऐसे खाते से बंधना चाहिए, जिसमें आपके लिए पर्याप्त विशेषाधिकार हों, जिनकी आपको आवश्यकता है लेकिन अधिक नहीं।
इवान एंडरसन

23

dsquery /?कमांड प्रॉम्प्ट में टाइप करें ।

उदा: dsquery user -name Ja*Ja * में शुरू होने वाले नामों के साथ सभी उपयोगकर्ताओं के लिए कनेक्शन स्ट्रिंग्स प्राप्त करता है।


मुझे यह दृष्टिकोण पसंद है, यह ओयू और इस तरह का सही क्रम देता है। इसे स्पष्ट करने के लिए, इसे लेने के लिए LDAP: //dc1.corp.domain.com/ और कमांड से आउटपुट और उन्हें जोड़ने के लिए एक ldap स्ट्रिंग को आसानी से शांत करें।
RandomUs1r

3
इस आदेश का उपयोग करने के लिए आपको कौन से टूल की आवश्यकता है?
Pred


18

मैं सिर्फ इस उपकरण का उपयोग सोफ़्टर से (वे एक उत्कृष्ट फ्रीवेयर LDAP ब्राउज़र बनाते हैं) उपयोगकर्ता DN वर्तमान में लॉग-इन से प्राप्त करने के लिए करते हैं: http://www.ldapbrowser.com/download.htm


चरण 1: "क्रेडेंशियल्स" चरण में, "वर्तमान में लॉग-इन उपयोगकर्ता (केवल ActiveDirectory)" का चयन करें। चरण 2: जब कनेक्शन बनाया जाता है, तो उसके गुणों में "एंट्री" टैब पर जाएं और URL को कॉपी करें। चरण 3: उस URL का उपयोग करें जो ErJab के समाधान के साथ DN के साथ मिला है।
निकोलस राउल

7

मुझे हमेशा OU टाइप करने का सही तरीका खोजने में समस्याएँ आती थीं। कमांड dsquery ou domainrootआपको आपके डोमेन के सभी OU के सही नामों की एक सूची देगा। यकीन नहीं होता कि इससे बड़े संगठन को मदद मिलेगी।


4
  1. दूरस्थ सर्वर व्यवस्थापन उपकरण स्थापित करें: http://www.microsoft.com/en-us/download/details.aspx?id=7887

  2. कमांड प्रॉम्प्ट खोलें और> dsquery सर्वर दर्ज करें

अधिक जानकारी के लिए, कृपया इस पोस्ट (पोस्ट के नीचे) की जाँच करें: http://www.schiffhauer.com/mvc-5-and-active-directory-authentication/


4

यदि आप ADSIedit को खोलते हैं, तो आपको कनेक्ट करने के लिए चुनते समय यह मार्ग आपको दिखाना चाहिए ...

यहाँ छवि विवरण दर्ज करें



1

मुझे सबसे आसान तरीका मिला :

से भी पा सकते हैं

सक्रिय निर्देशिका सर्वर -> संगठन इकाई चुनें OU -> राइट क्लिक -> गुण -> गुणक -> विशिष्ट नाम

मुझे ये Microsoft विंडोज़ सर्वर 2012 R2 से मिला है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.