关于.net:使用” SQL”查询Active Directory?

关于.net:使用” SQL”查询Active Directory?

Querying Active Directory with “SQL”?

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

据我所知,可以以" 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

样本(来自站点):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 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();


推荐阅读

    linux执行多次命令?

    linux执行多次命令?,系统,信息,标准,工作,情况,命令,周期性,服务,代码,时间,l

    linux查询命令进程?

    linux查询命令进程?,系统,名称,总量,情况,状态,进程,材料,工具,电脑,数据,怎

    linux命令没执行完?

    linux命令没执行完?,系统,设备,工具,情况,密码,状态,电脑,管理,材料,服务,Lin

    shell中执行linux命令?

    shell中执行linux命令?,系统,名称,环境,管理,工作,代码,技术,软件,经理,基础

    查询linux内存命令?

    查询linux内存命令?,系统,情况,信息,工具,电脑,状态,命令,内存,发行,总量,查

    linux命令查询屏保?

    linux命令查询屏保?,系统,工作,工具,信息,地址,图片,命令,目录,基础,电脑,lin

    linux打印命令执行?

    linux打印命令执行?,信息,系统,工具,服务,命令,发行,基础,位置,设备,时间,怎

    linux执行两次命令?

    linux执行两次命令?,系统,信息,连续,名称,命令,初级,首页,工具,管理,终端,lin

    linux命令执行安装?

    linux命令执行安装?,软件,系统,管理,网站,官网,市场,中心,最新,灵活,工作,如

    linux执行一条新命令?

    linux执行一条新命令?,系统,工作,命令,管理,网络,服务,信息,目录,路径,脚本,L

    监控linux执行命令?

    监控linux执行命令?,系统,情况,数据,实时,网络,信息,状态,时间,设备,命令,如

    linux链路查询命令?

    linux链路查询命令?,系统,信息,工作,地址,命令,工具,时间,盘中,基础,名字,lin

    linux命令卡死不执行?

    linux命令卡死不执行?,系统,设备,数据,密码,工具,情况,软件,环境,分析,命令,l

    linux查询文件夹命令?

    linux查询文件夹命令?,系统,软件,电脑,命令,文件,文件夹,单位,第三,档案,数

    linux执行c程序命令?

    linux执行c程序命令?,系统,工作,工具,信息,代码,命令,文件,保险,管理,环境,li

    linux命令执行中断?

    linux命令执行中断?,设备,系统,网络,工具,工作,通用,状态,名字,流程,进程,lin

    linux查询线程命令?

    linux查询线程命令?,系统,第一,线程,命令,进程,代码,分时,软件,选项,界面,如

    执行linux脚本命令行?

    执行linux脚本命令行?,工具,位置,地方,环境,数据,状态,暂停,增长,系统,基础,

    linux查询内核数命令?

    linux查询内核数命令?,系统,第一,信息,命令,实时,软件,电脑,内核,个数,界面,

    linux查询ip命令?

    linux查询ip命令?,地址,网络,信息,设备,系统,电脑,终端,命令,中心,技术指标,l