User-Mitgliedschaft via Global Catalog und LDAP

T

thamubber

#1
Hallo zusammen,

Ich schreibe gerade eine Anwendung welches die Gruppenmitgliedschaft ("MemberOf") von bestimmten Usern im AD herausfinden muss.

Vorgehensweise:

DirectoryEntry vom User finden:
Code:
DirectorySearcher dirS = new DirectorySearcher();
1*) dirS.SearchRoot = new DirectoryEntry("LDAP://dc=domäne");
oder
2*) dirS.SearchRoot = new DirectoryEntry("GC://forest");

dirS.Filter = "(&(objectCategory=User) (samAccountName=" + username + "))";
result = dirS.FindOne();
..
entry = result.GetDirectoryEntry();

Mitgliedschaft holen:
Code:
IdentityReferenceCollection SidColl;
String[] tokgrp;
tokgrp = new String[] { "tokenGroups" };

entry.RefreshCache(tokgrp);

foreach (byte[] sidBytes in entry.Properties["tokenGroups"])
{
       SidColl.Add(new SecurityIdentifier(sidBytes,0));
}

Nun zu meinem Problem:

Wenn ich die ganze Suche im Global Catalog (2*)durchführe bekomme ich bei User XY 8 Gruppenmitgliedschaften.

Wenn ich es aber mit einer LDAP Abfrage (1*) durchführe bekomme ich alle , in diesem Fall knapp 17, Gruppenmitgliedschaften.

Warum?

Im Prinzip müsste doch dasselbe Ergebnis zurückgelieftert werden oder?


Gruß

thamubber
 
Oben