Hallo an alle,
ich habe gerade das beispiel von aspheute.com über den Zugriff auf das Active Directory durchgearbeitet.
Nun habe ich im AD unter der OU Users eine neue Gruppe angelegt und dieser Gruppe User zugewiesen.
Wie kann ich denn jetzt die User auslesen, welche sich in dieser Gruppe befinden?
DirectoryEntry entry = new DirectoryEntry("LDAP://lfv.local/CN=Users, DC=lfv, DC=local", "test", "test" );
DirectoryEntry dcUsers = entry.Children.Find("CN=lfm");
DirectorySearcher search = new DirectorySearcher(dcUsers);
search.Filter = "(&(objectClass=user))";
foreach (SearchResult result in search.FindAll())
{
GUIDs[i] = result.GetDirectoryEntry().Guid.ToString();
i++;
}
Bei dieser Lösung hat result stets NULL
DirectoryEntry de = new DirectoryEntry("LDAP://domain/ou=Users...
"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."
Also das Problem besteht nicht darin auf CN=Users zu kommen. Sondern darunter existiert meine Usergroup der mehrere Mitglieder zugeordnet werden.
Ich möchte nun herausfinden, welche User sich in meiner Gruppe befinden.
Ich habe bisher rausgefunden, da DirectoryEntry keine Member hat muss man das NativeObject in diesem Fall von dcUsers in ActiveDs.IADsUser casten.
Nur wie caste ich jetzt mit CSharp auf diesen Typ?
Ich habe bereits versucht mit Convert.ChangeType(dcUsers.NativeObject, ActiveDs.IADsUser) zu casten doch das funzt so nicht.
In VB.NET kann man es über CType casten. Bsp: CType(dcUsers.NativeObject, ActiveDs.IADSUser).
Wenn ich das Casting hinbekommen habe, habe ich aber immer noch keine Ahnung wie ich dann weiter vorgehen muss.
Hoffe auf Hilfe🙂
nach langem googeln, so lässt sich lösen
DirectoryEntry entry = new DirectoryEntry("LDAP://lfv.local/CN=Users, DC=lfv, DC=local", "test", "test" );
DirectoryEntry dcUsers = entry.Children.Find("CN=lfm");
object members = dcUsers .Invoke("Members", null);
foreach(object member in (IEnumerable)members)
{
DirectoryEntry x = new DirectoryEntry(member);
Console.WriteLine(x.Name);
}
//edit: c#-code-tags ergänzt!!
der namespace System.DirectoryServices stimmt bei mir nicht!
hängengeblieben 😁