LINQ to Active Directory 实现了一个自定义 LINQ 查询提供程序,允许查询 Active Directory 中的对象。在内部,查询被转换为使用 System.DirectoryServices .NET Framework 库发送到服务器的 LDAP 过滤器。
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();