AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi AD zugriff mit ActiveDs_TLB und adshlp - www.agnisoft.com
Thema durchsuchen
Ansicht
Themen-Optionen

AD zugriff mit ActiveDs_TLB und adshlp - www.agnisoft.com

Ein Thema von cherry · begonnen am 5. Okt 2007 · letzter Beitrag vom 8. Okt 2007
 
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#9

Re: AD zugriff mit ActiveDs_TLB und adshlp - www.agnisoft.co

  Alt 8. Okt 2007, 12:43
Super marabu. Vielen Dank für deine Hilfe... meine dll sieht im moment so aus und funktioniert bestens...
ich werde sie noch ausbauen und wenn sie, falls sie, ausgereift genug wird, stelle ich sie im opensource zur verfügung...
dann könnt ihr dann auch gleich noch anbringen wo man was verbessern muss!

LG enemyleft

Delphi-Quellcode:
library ADSI;

{ enemyleft[at]gmail.com - 05.10.2007 }

uses
  SysUtils,
  Classes,
  ActiveDs_TLB,
  adshlp,
  Variants;

type
  T2dStringArray = Array of Array of String;
  TStringArray = Array[0..1] of String;
  THelper = class(TObject)
    procedure AddToTreeUsers(disp: IADs);
  end;

var
  values: T2dStringArray;
  value: TStringArray;
  helper: THelper;
  i: integer = -1;

{$R *.res}

// enumerate users
procedure GettingUsers(dom: IADsContainer);
begin
  dom.Filter := VarArrayOf(['user']);
  ADsEnumerateObjects(dom, helper.AddToTreeUsers);
end;

// DOMAIN
// open winnt (ActiveDirectory) with other username and password
function OpenUsers(domain, username, password: String): T2dStringArray; stdcall;
var
  dom: IADsContainer;
begin
  ADsOpenObject('WinNT://' + domain, username, password, 1, IADsContainer, dom);
  GettingUsers(dom);
  result := values;
end;

// DOMAIN
// open winnt (ActiveDirectory) with current user
function GetUsers(domain: String): T2dStringArray; stdcall;
var
  dom: IADsContainer;
begin
  ADsGetObject('WinNT://' + domain, IADsContainer, dom);
  GettingUsers(dom);
  result := values;
end;

// USER DETAIL
// open winnt (ActiveDirectory) with current user
function GetUsersDetail(domain, username: String): TStringArray; stdcall;
var
  usr: IADsUser;
begin
  ADsGetObject('WinNT://' + domain + '/' + username, IADsUser, usr);
  value[0] := usr.FullName;
  value[1] := usr.Description;
  result := value;
end;

// add the users into the array
procedure THelper.AddToTreeUsers(disp: IADs);
begin
  Inc(i);
  SetLength(values, i+1, 2);
  values[i,0] := disp.Name;
  values[i,1] := disp.Schema;
end;

exports
  OpenUsers,
  GetUsers,
  GetUsersDetail;

begin

end.
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz