الاستعلام عن "Active Directory" مع "SQL"?
-
01-07-2019 - |
سؤال
أنا فقط أتساءل عما إذا كان أي شخص يعرف أو التفاف حول "Active Directory" إلى أن تكون قادرة على بسهولة الاستعلام في .الشبكة ؟ نوع من مثل "LINQ إلى ActiveDirectory" أو بعض SQL اللهجة ، أيأن تكون قادرة على القيام "SELECT DISTINCT(قسم) من /المستخدمين/SomeOU/AnotherOU" أو "حدد المستخدم من المجال" أو أيا كان.
بقدر ما أعرف ، فمن الممكن أن استعلام WMI IIS في "SQLesque" الطريقة, أنا فقط أتساءل إذا كان هناك شيء مماثل من الممكن لـ "Active Directory" وكذلك دون الحاجة إلى تعلم أخرى لغة الاستعلام (LDAP)?
المحلول
LINQ إلى "Active Directory" تنفذ مخصص استعلام LINQ مزود يسمح الاستعلام عن الكائنات في "Active Directory".داخليا, الاستعلامات هي ترجمة في LDAP الفلاتر التي يتم إرسالها إلى الملقم باستخدام النظام.DirectoryServices .صافي مكتبة الإطار.
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();