以编程方式查询我公司的员工目录

时间:2010-09-15 01:36:47

标签: .net active-directory exchange-server

我的公司是微软商店(Exchange,AD等)。

我想对员工目录进行查询,如:

Person person = directory.Lookup("jsmith");
string title = person.Fields("JobTitle");
Person manager = person.GetManager();
if (person.IsManager())
{
    Person[] subordinates = person.GetSubordinates();
}

有没有简单的方法可以做这样的事情?我打算在脚本中非正式地进行,而不是在运输代码中。

1 个答案:

答案 0 :(得分:2)

我从未使用过它,但它看起来很有趣:

Linq to Active Directory

举个例子:

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