2014-07-22 2 views
0

모든 재귀 적 그룹의 전체 목록을 사용하여 ASP.net 페이지에서 바로 관리 할 그룹을 선택하는 드롭 다운 목록 컨트롤을 채우는 것을 망설였습니다.C#/DirectoryEntry/All Groups/Filtering

사용 된 코드 :

List<string> groups = new List<string>(); 

using (DirectorySearcher searcher = new DirectorySearcher(dEntry)) 
{ 
    searcher.Filter = "(objectCategory=group)"; 
    foreach (SearchResult result in searcher.FindAll()) 
    { 
     string group = result.Path.Substring(result.Path.IndexOf("/CN=")+4); 
     string formatedResult = group.Substring(0, group.IndexOf(",CN=")); 
     groups.Results.Add(formatedResult); 
    } 
} 

결과 목록이 긴, 필요하지 않은 시스템 그룹의 무리를 포함. "Administrators"및 모든 "비 시스템 정의"또는 "시스템 관련"그룹과 같이 특정 시스템 그룹 만 그룹 목록에 포함시켜야합니다. (예 : 광고 구조에 정의 된 부서, 응용 프로그램 그룹 등).

DirectoryEntry로 어떻게 할 수 있습니까?

+0

http://stackoverflow.com/questions/323536/asp-net- 는 검색 할 필터를 수정할 수 있습니다 활성 디렉토리에서 그룹을 얻는 방법 ... – SiL3NC3

답변

0

이 그룹은 시스템에 의해 생성된다.

시스템 그룹 :

(&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=1)) 

비 시스템 그룹 :

(&(objectCategory=group)(!(groupType:1.2.840.113556.1.4.803:=1))) 
0

아래의 링크에서 성공 사례를 사용했습니다. 우리 광고에서 사용자 이름을 검색하는 데 사용했지만 수정할 수는 있습니다. 을 0x1 플래그 groupType 특성에 있으면

AccessingtheActiveDirectoryfromMicrosoftNET

+0

주어진 값이없고 결과를 필터링하지 않고 대상이 그룹 목록을 가져 오는 중입니다. 시스템 그룹이 이들을 제외시키는 특별한 속성이있을 수 있습니다. 하지만 고마워. – SiL3NC3