2012-12-20 23 views
9

मैं सिस्टम लुकअप कार्यक्षमता प्रदान करने के लिए System.DirectoryServices.AccountManagement का उपयोग कर रहा हूं।सी # - एकाधिक सक्रिय निर्देशिका डोमेनों में उपयोगकर्ताओं के लिए खोज

व्यापार कई क्षेत्र विशिष्ट ई डोमेन हैं: एएमआर, यूरो, JPN आदि

यूरो डोमेन के लिए निम्नलिखित काम करता है, लेकिन अन्य डोमेन (स्वाभाविक रूप से) से उपयोगकर्ताओं को वापस नहीं करता है:

var context = new PrincipalContext(ContextType.Domain, "mycorp.com", "DC=eur,DC=mycorp,DC=com"); 

var query = new UserPrincipal(GetContext()); 

query.Name = "*Bloggs*"; 

var users = new PrincipalSearcher(query).FindAll().ToList(); 

var context = new PrincipalContext(ContextType.Domain, "mycorp.com", "DC=mycorp,DC=com"); 
:

हालांकि, अगर मैं पूरी निर्देशिका लक्षित करते हैं, यह उन क्षेत्र विशिष्ट डोमेन के किसी भी से वापस नहीं करता है

मैं पूरी निर्देशिका कैसे खोजूं?

अद्यतन

पर "कैसे सक्रिय निर्देशिका कार्य खोजों" ऊपर पढ़ें:

http://technet.microsoft.com/en-us/library/cc755809(v=ws.10).aspx

अगर मैं बंदरगाह 3268 यह वैश्विक सूची के खिलाफ खोज के साथ सर्वर नाम प्रत्यय:

var context = new PrincipalContext(ContextType.Domain, "mycorp.com:3268", "DC=mycorp,DC=com"); 

हालांकि यह बहुत धीमा है। प्रदर्शन में सुधार करने के बारे में कोई सुझाव?

+0

इसे समझ लिया। एसओ मुझे देता है जब जवाब पोस्ट करेंगे। –

+0

क्या आप इस काम को पाने के लिए जो किया है उसे पोस्ट कर सकते हैं? – FMFF

+0

डोमेन स्ट्रिंग और कंटेनर परम में पोर्ट नंबर जोड़ना यह मेरे लिए काम करता है, धन्यवाद – filip

उत्तर

0

क्वेरीज जिनमें प्रारंभिक वाइल्डकार्ड (*Bloggs*) धीमे हो जाएंगे जब तक कि आपके पास विशेषता वाले प्रश्नों पर टुपल इंडेक्स न हो। एडी में किसी भी गुण में डिफ़ॉल्ट रूप से यह सेट नहीं है। प्रारंभिक वाइल्डकार्ड नहीं करना बेहतर है।