我尝试为用户搜索我的组织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。是否有任何解决方案?
答案 0 :(得分:2)
See a possible solution for this issue in this other SO question
您需要使用UserPrincipal
的可扩展性来创建后代类,以便访问anr
属性(anr =模糊名称解析),该属性允许在多个名称相关的搜索中属性一次。
答案 1 :(得分:0)
查看DirectorySearcher。 This article可能有帮助。