2008-09-18 9 views
6

मुझे आश्चर्य है कि किसी को सक्रिय निर्देशिका के चारों ओर एक रैपर जानता है या इसे आसानी से पूछने में सक्षम होना चाहिए .net? "LINQ-to-ActiveDirectory" या कुछ SQL बोलीभाषा की तरह, यानी "चयन डिस्टिंट (विभाग) से/उपयोगकर्ता/कुछ/अन्य" या "डोमेन से उपयोगकर्ता चुनें" या जो कुछ भी करने में सक्षम होने के लिए।"SQL" के साथ सक्रिय निर्देशिका क्वेरी?

जहां तक ​​मुझे पता है, डब्लूएमआई और आईआईएस को "SQLesque" तरीके से पूछना संभव है, मुझे आश्चर्य है कि सक्रिय निर्देशिका के लिए कुछ भी संभव है, बिना किसी अन्य क्वेरी भाषा (एलडीएपी) सीखने के बिना, ?

+0

+1 मैं इस पोस्ट के बजाय मिल गया! ;) Hehehe ... –

उत्तर

13

सक्रिय निर्देशिका में LINQ एक कस्टम LINQ क्वेरी प्रदाता है कि सक्रिय निर्देशिका में क्वेरी करने की अनुमति देता है वस्तुओं लागू करता है। आंतरिक रूप से, प्रश्न को एलडीएपी फ़िल्टर में अनुवादित किया जाता है जो पर सिस्टम का उपयोग कर सर्वर पर भेजे जाते हैं। डायरेक्टरी सर्विसेज .NET फ्रेमवर्क लाइब्रेरी। (साइट से)

http://www.codeplex.com/LINQtoAD

नमूना:

// NOTE: Entity type definition "User" omitted in sample - see samples in release. 

var users = new DirectorySource<User>(ROOT, SearchScope.Subtree); 
users.Log = Console.Out; 

var res = from usr in users 
      where usr.FirstName.StartsWith("B") && usr.Office == "2525" 
      select new { Name = usr.FirstName + " " + usr.LastName, usr.Office, usr.LogonCount }; 

foreach (var u in res) 
{ 
    Console.WriteLine(u); 
    u.Office = "5252"; 
    u.SetPassword(pwd); 
} 

users.Update(); 
+1

अब मैं बेवकूफ महसूस करता हूं, Google में पहले नहीं मिला :-) धन्यवाद! –

+3

यह मेरे साथ हर बार होता है। अगली बार जब किसी को इसकी आवश्यकता हो, तो उन्हें इसके बजाय यह स्टैक ओवरफ्लो-पोस्ट मिलेगा। – Espo

+0

+1 ग्रेट टूल वहां पेश किया गया। धन्यवाद! –