2011-01-10 4 views
0

다음을 사용하여 사용자를 쿼리 할 수 ​​있지만 추가 OU = Good을 검색 DN에 추가하고 싶습니다. GC에 대한 전체 경로를 하드 코딩하지 않고 이것이 가능합니까?GlobalCatalog에서 OU를 추가하는 방법

Forest myForest = Forest.GetCurrentForest(); 
GlobalCatalog cat = myForest.FindGlobalCatalog(); 
DirectorySearcher srch = cat.GetDirectorySearcher(); 
srch.Filter = "(&(objectClass=user)(samaccountname=myuser))"; 
SearchResult result = srch.FindOne(); 

답변

1

당신은 당신의 글로벌 카탈로그에 대한 DirectoryEntry을 얻기 위해 시도하고 당신이 찾고있는 OU에 대한 자사의 .Children 속성을 검색 한 다음 검색 루트로 DirectoryEntry 것을 사용할 수 있습니다 - (테스트되지 않은, 돈 같은 것을 'T는 손을 테스트하기에 AD)이 : 물론

Forest myForest = Forest.GetCurrentForest(); 
GlobalCatalog cat = myForest.FindGlobalCatalog(); 

DirectoryEntry deGlobal = cat.GetDirectoryEntry(); 

DirectoryEntry deYourOU = deGlobal.Children.Find("OU=Good"); 

DirectorySearcher srch = new DirectorySearcher(deYourOU); 

, 현실을, 당신은 당신의 코드에 어떤 에러 체크 (등등 != null 등) 추가 할 것입니다 -하지만 그건의 기본 방법이 될 것입니다 귀하의 OU에 도착 (희망!)

관련 문제