1

사용자 조직의 Active Directory를 검색하려고합니다. firstName을 또는또는 표시 이름이 특정 문자열 값과 일치하는 경우 이름, 성 및 표시 이름에 따라 Active Directory에서 사용자 검색

, 그것은 사용자를 반환해야합니다.

내 코드 :

// 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는 사용할 수 없습니다. 어떤 솔루션을 사용할 수 있습니까?

+1

[이 문제에 대한 가능한 해결책은 다음을 참조하십시오.] (http://stackoverflow.com/questions/3195124/ambiguous-name-resolution-anr-ma-equivalent-in-net-3-5-directoryservices-ac) -'UserPrincipal'의 확장 성을 사용하여 여러 개의 이름 관련 속성에서 검색을 허용하는'anr' 속성 (모호한 이름 해석)에 접근합니다. –

+0

@marc_s : 해결책을 가져 주셔서 감사합니다. 제대로 작동하고 있습니다. 답변으로 게시 할 수 있습니까? 내가 받아 들일 수 있도록? –

답변

2

See a possible solution for this issue in this other SO question.

anr 속성 (anr = 모호한 이름 확인)에 액세스하려면 한 번에 여러 이름 관련 속성에서 검색 할 수 있도록 자손 클래스를 만드는 데 UserPrincipal의 확장 성을 사용해야합니다.

+0

이 링크 (http://msdn.microsoft.com/en-us/library/cc223243.aspx)는 모호한 이름 확인 (ANR)에 대한 자세한 정보를 얻을 수 있도록 도와줍니다. –

관련 문제