Вопрос

Мне просто интересно, знает ли кто-нибудь или создал оболочку вокруг Active Directory, чтобы иметь возможность легко запрашивать ее в .net?Что-то вроде "LINQ-to-ActiveDirectory" или какого-то диалекта SQL, т.е.чтобы иметь возможность делать "ВЫБРАТЬ ОТДЕЛЬНЫЙ (ОТДЕЛ) ИЗ / Users / SomeOU / AnotherOU" или "ВЫБРАТЬ пользователя ИЗ домена" или что-то еще.

Насколько я знаю, можно запрашивать WMI и IIS "SQLesque" способом, мне просто интересно, возможно ли что-то подобное и для Active Directory, без необходимости изучать еще один язык запросов (LDAP)?

Это было полезно?

Решение

LINQ to Active Directory реализует пользовательский поставщик запросов LINQ, который позволяет запрашивать объекты в Active Directory.Внутренне запросы преобразуются в фильтры LDAP, которые отправляются на сервер с использованием System.DirectoryServices .NET Библиотека Framework.

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();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top