微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net – 用“SQL”查询Active Directory?

我只是想知道是否有人知道或制作了一个围绕Active Directory的包装器,以便能够在.net中轻松查询它?有点像“LINQ-to-ActiveDirectory”或一些sql方言,即能够做“SELECT disTINCT(DEPARTMENT)FROM / Users / SomeOU / AnotherOU”或“SELECT user FROM domain”等等.

据我所知,有可能以“sqlesque”方式查询WMI和IIS,我只是想知道Active Directory是否也可以有类似的东西,而不必学习另一种查询语言(LDAP)?

解决方法

LINQ to Active Directory implements a
custom LINQ query provider that allows
querying objects in Active Directory.
Internally,queries are translated
into LDAP filters which are sent to
the server using the
System.DirectoryServices .NET
Framework library.

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();

原文地址:https://www.jb51.cc/mssql/75651.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐