2009-02-08 2 views
7
내 도메인에 그룹의 구성원을 얻기 위해 다음 코드를 사용하고

비어 :"도메인 사용자"그룹은 "회원"속성

Dim de As New DirectoryEntry("LDAP://" & GroupDN) 

    For Each user As String In CType(de.Properties("member"), IEnumerable) 

      GroupCollection.Add(Username, Username) 

    Next 

내 문제는 그 때 GROUPDN (그룹의 고유 이름)은 "CN = Domain Users, CN = Users, DC = Mydomain, DC = local"입니다. For ... Each 루프가 실행되지 않고 수동으로 Properties 문을 검사하면 0의 수를 얻었다. 이것은 내 도메인의 모든 다른 그룹에 대해 작동하는 것처럼 보이지만 "도메인 사용자"그룹에는 모두가 포함되어야하며 아무도 포함되어 있지 않은 것으로 보입니다.

본인이 확인한 바에 따르면 그룹은 모든 사람을 내 Windows AD 도구에 올바르게 나열합니다. 내가 여기서 빠진 게 분명해? 추가적인 메모는 그룹의 모든 구성원을 확보하는 좋은 방법이 있습니까?

답변

8

사용자의 기본 그룹 ID를 변경하지 않으면 사용자가 Domain Users 그룹의 구성원 특성에 저장되지 않고 기본 그룹 ID가 도메인 사용자 RID로 설정되어 구성원을 결정한다는 사실을 사용합니다 도메인 사용자. 일반적인 경우 Domain Users 구성원 특성이 비어 있습니다. 이 경우가 아니기 때문에 기본 Active Directory 구현을 일부 변경해야합니다.

도메인 사용자 그룹 구성원을 결정 에 사용자의 "기본 그룹 ID"를 기반으로 "계산"메커니즘을 사용하고 는 일반적으로 다중 값 연결된 특성과 같은 멤버를 저장하지 않습니다. 사용자의 기본 그룹이 변경된 경우 도메인 사용자 그룹의 구성원이 연결된 특성에 쓰여지고 더 길게 계산되지 않습니다. 이것은 Windows 2000의 에 대한 사실 2003 년

Reference

+0

재미있는 윈도우 서버에 대한 변경되지 않았습니다 - 난 그냥 adsiedit.msc를 체크, 그리고 당신이 옳은 것 같습니다 없습니다 - 사용자의 아무도 memberof 속성에 "도메인 사용자"가 나열되어 있어야합니다. 이 일이 유일한 그룹 일 경우, 나는 그걸로 살 수 있습니다 - 나는 그저 이상합니다. – SqlRyan

+0

감사합니다. "그룹 및 모든 하위 그룹의 모든 사용자 가져 오기"방법을 사용해 주셔서 감사 드리며 "도메인 사용자"로는 아무 사용자도 구하지 못했습니다 ... 디버깅 시간이 절약되었습니다! –

관련 문제