Einzelnen Beitrag anzeigen

CTest

Registriert seit: 13. Apr 2010
Ort: Gehren
33 Beiträge
 
#1

Active Directory: Berechtigungen; Untergruppen; LDAP?

  Alt 29. Apr 2010, 15:05
Hallo,

Ich verwende die Unit adshlp von agnisoft und die importierte Typbibliothek Active DS Type Library.
Ich bin mittlerweile soweit, dass ich aus der Domäne die Benutzer auslesen kann und in welchen Gruppen sie sind bzw. umgekehrt.

Jetzt möchte ich noch die Rechte der Benutzer/Gruppen auslesen können.

In der ActiveDS_TLB stehen die Konstanten für die Rechte.
Auf msdn hab ich gefunden, dass die Rechte das bei einem AccessControlEntry als AccessMask angegeben sind.
http://msdn.microsoft.com/en-us/library/aa772285(v=VS.85).aspx
Aber wie kann ich damit die Rechte abfragen und wie verknüpfe ich das AccessControlEntry mit einem IADS-Objekt? User/Gruppe/Container?

Mit den Untergruppen habe ich auch noch ein Problem, eine Gruppe lese ich aus dem IADSContainer-Objekt aus, indem ich mit
Code:
while EnumVariant.Next(1, V, w) = S_OK do //V:OleVariant, w: Dword
den Container durchsuche.
Code:
aIADs:= IDispatch(V) as IADs;
Mit aIADs.Class_ stelle ich dann fest, ob es sich um eine Gruppe handelt, auf die ich dann mit ADSGetObject aus der adshlp mit aIADs.adspath als Pfad zugreife.
Über die Eigenschaft Members kann ich dann die untergeordneten Objekte auslesen, allerdings nicht auf alle mit ADSGetObject darauf zugreifen, weil einige einen anderen Pfad haben, z.Bsp. statt WinNT://domäne ... nicht mehr die Domäne hinter dem WinNT:// sondern WinNT://NT-AUTORITÄT ... .
Was hat es mit diesen Untergruppen auf sich?


Auf den Container greife ich mit
Code:
ADsOpenObject('WinNT://'+Domäne, Username, Password, 1, IADsContainer, domain);
zu. Warum klappt das nicht mit LDAP://cn=... ? Wie kann ich auf die Domäne mit LDAP zugreifen? Würde sich durch LDAP eins der beiden anderen Probleme besser beheben lassen?
  Mit Zitat antworten Zitat