根据名字、姓氏和显示名在Active Directory中搜索用户
本文关键字:Active Directory 搜索 用户 显示 | 更新日期: 2023-09-27 18:29:36
我试图在我的组织Active directory中搜索用户。
如果FirstName或LastName或DisplayName与特定字符串值匹配,则应返回用户。
我的代码:
// create your domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal qbeUser = new UserPrincipal(ctx);
qbeUser.GivenName = "Ramesh*";
// qbeUser.Surname = "Ramesh*";
// qbeUser.DisplayName= "Ramesh*";
PrincipalSearcher srch = new PrincipalSearcher(qbeUser);
// find all matches
foreach(var found in srch.FindAll())
{
//
}
问题是我只能通过一个过滤器进行搜索。
我可以对过滤器进行AND运算,但不能进行OR运算。是否有可用的解决方案?
在另一个SO问题中查看此问题的可能解决方案。
您需要使用UserPrincipal
的可扩展性来创建子类,以便访问anr
属性(anr=不明确的名称解析),该属性允许同时搜索多个与名称相关的属性。
看看DirectorySearcher。这篇文章可能会有所帮助。