2012-03-27 9 views
37

मुझे एक विशिष्ट समूह के उपयोगकर्ताओं को प्रदर्शित करने के लिए एक खोज फ़िल्टर की आवश्यकता है।एलडीएपी क्वेरी किसी निश्चित समूह के सभी उपयोगकर्ताओं को सूचीबद्ध करने के लिए

(& 
    (objectCategory=user) 
    (memberOf=MyCustomGroup) 
) 

और इस:

मैं निम्नलिखित की कोशिश की है

(& 
    (objectCategory=user) 
    (memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,D‌​C=com) 
) 

लेकिन मिला कुछ भी नहीं, कृपया मुझे यह सही मदद करते हैं।

उत्तर

55

सदस्यऑफ (एडी में) विशिष्ट नामों की सूची के रूप में संग्रहीत किया जाता है। आपका फ़िल्टर की तरह कुछ करने की जरूरत है:

(&(objectCategory=user)(memberOf=cn=MyCustomGroup,ou=ouOfGroup,dc=subdomain,dc=domain,dc=com)) 

आप अभी तक विशिष्ट नाम की जरूरत नहीं है, तो आप के साथ इसे खोजने कर सकते हैं:

(&(objectCategory=group)(cn=myCustomGroup)) 

और विशेषता distinguishedName लौट आते हैं। मामला मायने रखता है।

+1

ou = ouOfGroup क्या है? –

+6

आमतौर पर सक्रिय निर्देशिका में आपके पास कई संगठनात्मक इकाइयां हैं जिनमें संरचना होती है। समूहों के लिए डिफ़ॉल्ट रूट ओयू समूह है। यह संभावना है कि सीएन = MyCustomGroup, ou = समूह, डीसी = सबडोमेन, डीसी = डोमेन, डीसी = कॉम आपके लिए काम करेगा। यदि यह नहीं है कि मैं आपके समूह (& (objectCategory = group) (cn = MyCustomGroup)) (और cn = MyCustomGroup)) के लिए एलडीएपी खोज करने की अनुशंसा करता हूं और परिणाम सेट में विशिष्ट नाम विशेषता शामिल करता हूं। यह आपको बताएगा कि आपकी अन्य क्वेरी – Kodra

+0

में मैंने क्या स्ट्रिंग का उपयोग किया है, मैंने जो कहा है, मैंने किया है, लेकिन मुझे निम्नलिखित का उपयोग करके कोई परिणाम नहीं मिला है: (& (objectCategory = user) (memberOf = cn = SingleSignOn, ou = Groups, dc = टीआईएस, डीसी = उदाहरण के लिए, डीसी = डीडीडी, डीसी = कॉम)) –

9

सक्रिय निर्देशिका उपयोगकर्ताओं के लिए, ऐसा करने का एक वैकल्पिक तरीका होगा - मान लें कि आपके सभी समूह OU=Groups,DC=CorpDir,DC=QA,DC=CorpName में संग्रहीत हैं - क्वेरी (&(objectCategory=group)(CN=GroupCN)) क्वेरी का उपयोग करने के लिए। यह 1500 से कम सदस्यों वाले सभी समूहों के लिए अच्छा काम करेगा। यदि आप बड़े एडी समूह के सभी सदस्यों को सूचीबद्ध करना चाहते हैं, तो वही क्वेरी काम करेगी, लेकिन आपको सभी सदस्यों को लाने के लिए ranged retrieval का उपयोग करना होगा, एक समय में 1500 रिकॉर्ड।

रेंज पुनर्प्राप्ति करने की कुंजी इस वाक्यविन्यास का उपयोग करके विशेषताओं में सीमा निर्दिष्ट करना है: विशेषता; रेंज = कम-उच्च। इसलिए 3000 सदस्यों के साथ एडी ग्रुप के सभी सदस्यों को लाने के लिए, पहले उपरोक्त क्वेरी को member;range=0-1499 विशेषता के लिए पूछने के लिए पूछें, फिर member;range=1500-2999 विशेषता के लिए।

+0

'(सीएन = समूहसीएन)' निर्दिष्ट करना न भूलें। मैंने सभी समूहों से अनुरोध करने का प्रयास किया और यह तब तक काम नहीं किया जब तक कि मैंने इसे निर्दिष्ट नहीं किया। जब आप सीमा निर्दिष्ट करते हैं तो आप तारांकन का उपयोग कर सकते हैं: 'सदस्य; रेंज = 1500- *' - यह भी अच्छा काम करता है। – Stalinko

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