Einzelnen Beitrag anzeigen

Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#14

AW: Active Directory Gruppen in Gruppen ermitteln

  Alt 15. Mai 2012, 15:22
Ich hatte mal so was ähnliches, hab das so gelöst :
Damit bekomme ich alle Gruppen und deren "Untergruppen", die der Nutzer (oder das Objekt) angehört

var ADGroupList : TStringList; Aufruf mit z.Bsp.: getGroups('LDAP://CN=Username,OU=Second Level,OU=First Level,DC=domain,DC=co,DC=de');
Delphi-Quellcode:
procedure TWebModule1.getGroups(s:String);
var Obj,Grps : Variant;
tempStr : String;
i : Integer;
begin
  try
    Obj := GetObject(s);
  except
  //sicherstellen das Obj nicht leer
  //......
  end;
  try
    Grps := Obj.Get('MemberOf');
    if VarType( Grps ) and varArray <> varArray then
    Grps := VarArrayOf( [ Grps ] );
    for i := VarArrayLowBound( Grps, 1 ) to VarArrayHighBound( Grps, 1) do
    begin
      tempStr := Grps[ i ];
      if ADGroupList.IndexOf( tempStr ) = -1 then
      begin
        ADGroupList.Add(tempStr);
        GetGroups('LDAP://' + tempStr);
      end;
    end;
  except
  //........
  end;
end;
Christian Wahl
me, myself and I, die lustigen Drei !!

Geändert von chrisw (15. Mai 2012 um 15:58 Uhr)
  Mit Zitat antworten Zitat