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

VBScript Discussion :

Membres d'un groupe LDAP


Sujet :

VBScript

  1. #1
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut Membres d'un groupe LDAP
    Bonjour.

    Je cherche à lister tous les utilisateurs d'un groupe sous LDAP, y compris les utilisateurs appartenant à des groupes inclus récursivement dans le premier.
    Quelqu'un aurait-il un début d'exemple (genre liste des groupes d'un groupe et liste des membres d'un groupe) ?

  2. #2
    Membre averti
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 341
    Points
    341
    Par défaut
    Salut,

    pas simple ta question...
    Voilà ce que je te propose à partir d'un autre script que j'avais déjà fait :

    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
    On Error Resume Next
     
    strGrp = "Nom_Groupe1;Nom_Groupe2;Nom_Groupe3;"
     
    ArrGrps = Split(strGrp, ";")
     
    Set objExcel = CreateObject("Excel.Application")
    Set ObjFso = CreateObject("Scripting.FileSystemObject")
     
    For k = 0 to Ubound(ArrGrps) - 1
     
        Set objGroup = GetObject("LDAP://cn=" & ArrGrps(k) & ",ou=Groups,OU=.../...,dc=.../...,dc=com")
     
        WScript.Echo "Groupe traité : "  & ArrGrps(k)
        WScript.Echo "****************************************"
     
        For Each strUser in objGroup.Member
            Set objUser =  GetObject("LDAP://" & strUser)
     
            Wscript.Echo " - " & objUser.CN & ", " & objUser.Class
            If UCase(objUser.Class) = "GROUP" Then    
               XtractNom = objUser.ADSPath       
               Xtract 
            End If
        Next   
    Next    
     
    WScript.Quit 
     
    Sub Xtract
        Set objGroup2 = GetObject(XtractNom)
     
        For Each strUsers in objGroup2.Member
            Set objUsers =  GetObject("LDAP://" & strUsers)
     
            If UCase(objUsers.Class) = "GROUP" Then 
               WScript.Echo "     - " & objUsers.CN & ", " & objUsers.Class  
               XtractNom = objUser.ADSPath       
               Xtract 
            Else
               WScript.Echo "     - " & objUsers.CN & ", " & objUsers.Class
            End If
        Next 
    End Sub
    Dans StrGrp, tu mets les noms des groupes que tu dois attaquer séparés avec des ";" (y compris à la fin de la variable), si tu n'as qu'un seul groupe à traiter tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strGrp = "Nom_Groupe1;"
    Le script marche très bien chez moi car il n'y a pas plus de 2 niveaux dans les groupes donc au delà de 3 niveaux, je ne sais pas si la récursivité va fonctionner comme j'aimerai....un appel de Sub dans un Sub je n'ai jamais fait !
    Tiens moi au courant.

    A++
    Plus tu pédales moins vite, moins t'avances plus vite.

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Le script marche très bien chez moi car il n'y a pas plus de 2 niveaux dans les groupes donc au delà de 3 niveaux, je ne sais pas si la récursivité va fonctionner comme j'aimerai....un appel de Sub dans un Sub je n'ai jamais fait !
    Si le code récursif est bon il n'y a pas de raison que cela ne marche pas.
    En tout cas la récursivité marche très bien avec une fonction.
    Donc si ce n'est qu'une histoire de sub, tu peux mettre el tout dans une fonction et l'appeler dans un sub.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/01/2015, 17h19
  2. Réponses: 1
    Dernier message: 13/05/2014, 11h59
  3. Requête LDAP utilisateur membre d'un groupe
    Par jules418 dans le forum VBScript
    Réponses: 0
    Dernier message: 15/12/2011, 11h38
  4. [LDAP/JNDI] recherche des membres d'un groupe
    Par djidane39 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 31/03/2008, 17h22

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