.net - 使用 “SQL”查询Active Directory?

标签 .net active-directory ldap ldap-query

我只是想知道是否有人知道Active Directory或对其进行包装,以便能够在.net中轻松查询它?类似于“LINQ to ActiveDirectory”或某些SQL方言,即能够执行“从/Users/SomeOU/AnotherOU选择SELECT DISTINCT(部门)”或“从域中选择用户”等操作。

据我所知,可以以“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();

关于.net - 使用 “SQL”查询Active Directory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/90812/

相关文章:

.net - 如何以编程方式修改连接字符串?

c# - 为什么 .net 在引发 KeyNotFound 异常时不向我们提供 key (我怎样才能得到它?)

c# - 如何从其访问器中获取属性的唯一标识符

windows - 在工作组计算机上测试 Windows AD 集成

c++ - 在 AD 服务器上使用 winldap.h 进行 LDAP 搜索

active-directory - SAP ABAP LDAP 事件目录照片

java - 使用 LDAP、Java Play 框架通过 Active Directory 进行身份验证

c# - 给定一个包含星期几的字符串,返回整数

powershell - 我将如何编写一个powershell脚本来ping AD,输出在线系统的TXT,然后使用该文件输出已安装软件的列表

security - 在 Active Directory 中执行 LDAP 查询的最低安全权限