IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Interroger Active Directory


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 211
    Points : 85
    Points
    85
    Par défaut Interroger Active Directory
    Bonjour,

    Je voudrais interroger l'annuaire Active Directory de Microsoft depuis mon application Delphi. J'ai vu qu'il y avait un driver ADO permettant de s'y connecter mais ensuite comment l'interroge t'on ? je n'ai pas réussi à trouver de détail (suffisament clair) sur la structure de l'engin et la façon dont on pouvait retirer les informations.

    par exemple avoir une liste d'utilisateur ...

    D'avance merci pour vos réponses

    DreaMs

  2. #2
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 681
    Points : 7 113
    Points
    7 113
    Par défaut
    Essai avec un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB, adsHlp, activeds_tlb,
      ActiveX, ComCtrls;
     
    ...
     
      private
     	 _varDSRoot: OleVariant;
     
    ...
     
    var
    	Root : IADs;
    begin
    	//.Recherche du domaine.
       ADsGetObject('LDAP://RootDSE', IID_IADs, Root);
       _varDSRoot := Root.Get('defaultNamingContext');
     
    	//.Recherche de la liste des utilisateurs du domaine.
       ADOQuery.Close;
       ADOQuery.SQL.Clear;
       ADOQuery.SQL.Add('select AdsPath, CN, SN, OU, DC');
       ADOQuery.SQL.Add('from ''LDAP://' + _varDSRoot + '''');
       ADOQuery.SQL.Add('where objectClass = ''user''');
       ADOQuery.SQL.Add('order by sn');
       //.Exécution de la requête.
    	try
    		ADOQuery.Open;
       except
       	on E: Exception do
          begin
             ADOQuery.Close;
             Application.MessageBox(PChar('.Erreur :  la recherche de la liste des utilisateurs du domaine a échoué !' + #13#10 + E.Message), PChar(Caption + ' - erreur'), MB_ICONERROR + MB_OK);
    			Exit;
          end;
       end;
    	//.Si pas de réponse.
       if ADOQuery.IsEmpty then
       begin
          ADOQuery.Close;
          Application.MessageBox('.Pas d''utilisateurs du domaine trouvés !', PChar(Caption + ' - message'), MB_ICONEXCLAMATION + MB_OK);
       end
       else
       begin
       	ADOQuery.First;
          while not ADOQuery.Eof do
          begin
             ComboBox.Items.Add(ADOQuery.FieldValues['CN']);
          	ADOQuery.Next;
    		end;
          ComboBox.ItemIndex := 0;
    	end;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 211
    Points : 85
    Points
    85
    Par défaut
    c'est quoi la bibliothèque adsHlp ? il ne la trouve pas chez moi.

    as-tu de la doc sur la structure d'active directory pour savoir comment construire les requêtes afin d'aller chercher les infos ?

    merci pour ta réponse

  4. #4
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 681
    Points : 7 113
    Points
    7 113
    Par défaut
    Regarde par là : http://www.agnisoft.com/white_papers..._directory.asp
    Je crois que je l'ai trouvé ici.


Discussions similaires

  1. Possibilité(s) d'interroger Active Directory
    Par SQLDev dans le forum Administration
    Réponses: 3
    Dernier message: 29/11/2012, 14h59
  2. Réponses: 4
    Dernier message: 19/08/2009, 14h12
  3. [JNDI] Interrogation Active Directory 2003 via jndi
    Par xplicit95 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 13/07/2007, 11h08
  4. [LDAP] Interroger un Active Directory 2003
    Par aelythe dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/08/2006, 09h14
  5. Package permettant d'interroger l'active directory
    Par gracouille dans le forum Modules
    Réponses: 5
    Dernier message: 18/08/2004, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo