मुझे एक समाधान समाधान मिला है, हालांकि मुझे पूरा यकीन है कि कम संसाधन-गहन विधि है क्योंकि वर्तमान समाधान में समूह के सदस्य को प्राप्त करने के लिए एक प्रश्न करना और फिर एक प्रश्न प्रत्येक उपयोगकर्ता की जानकारी प्राप्त करें।उन उपयोगकर्ताओं को प्राप्त करें जो 'सदस्य' समूह हैं
यहाँ कोड मैं है:
DirectoryEntry root = new DirectoryEntry("LDAP://server:port");
DirectorySearcher searcher = new DirectorySearcher(root);
searcher.Filter = "(&(ObjectClass=Group)(CN=foo-group))";
var members = (IEnumerable)searcher.FindOne()
.GetDirectoryEntry()
.Invoke("members");
Dictionary<string , string> results = new Dictionary<string , string>();
foreach(object member in members) {
DirectoryEntry de = new DirectoryEntry(member);
results.Add(de.Properties[ "SAMAccountname" ][ 0 ].ToString(), de.Properties[ "cn" ][ 0 ].ToString());
}
आदर्श रूप में मैं हर उपयोगकर्ता है कि एक समूह के सदस्य हैं पाने के लिए किसी एक क्वेरी करने में सक्षम होना चाहते हैं, लोड करने के लिए और उसके बाद प्रदर्शन गुण फिल्टर उन्हें। तो
DirectoryEntry root = new DirectoryEntry("LDAP://server:port");
DirectorySearcher searcher = new DirectorySearcher(root);
searcher.PropertiesToLoad.Add("cn");
searcher.PropertiesToLoad.Add("SAMAccountname");
searcher.Filter = "(&(ObjectClass=user)(memberof=foo-group))";
foreach(var user in searcher.FindAll()) {
//do whatever...
}
दुर्भाग्य से, यह किसी कारण से काम नहीं करता है।
आपकी मदद के लिए धन्यवाद,
है, यह अच्छी तरह से काम कर रहा है, धन्यवाद। हालांकि इस और दूसरी विधि के बीच क्या अंतर है। क्या कोई तरीका है कि मैं सर्वर को इसकी खोज निर्दिष्ट कर सकता हूं। मैं यह सुनिश्चित करना चाहता हूं कि मैं प्रदर्शित होने वाले किसी अन्य डेटा के साथ कोई विसंगति नहीं है। –
मुझे 100% यकीन नहीं है कि यह कवर के तहत क्या कर रहा है लेकिन मैंने बिना किसी समस्या या विसंगतियों के उन्हें मिश्रित किया है। –
क्या आपको पता है कि यह डोमेन को उचित एलडीएपी सर्वर से कैसे जोड़ता है? –