Récupérer des Groupes Active Directory

fredouzzz Messages postés 5 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 20 février 2008 - 19 févr. 2008 à 10:41
fredouzzz Messages postés 5 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 20 février 2008 - 19 févr. 2008 à 15:13
Bonjour,


       J'ai un serveur windows 2003 + active directory et un client linux + python ldap.

       je cherche à récupérer le ou les
groupes d'utilisateurs de l'utilisateur avec lequel je suis connecté.

       J'ai trouvé les codes correspondants en
C#, vbs ... mais impossible de mettre le main sur des infos python.


       j'ai récupéré le nom de mon utilisateur avec :

         
import os

          User = os.environ['LOGNAME']


       J'ai donc mon utilisateur mais impossible de retrouver à quel(s) groupe(s) il appartient.


       Quelqu'un aurait déja fait ça ?


       Merci de vos réponses!
A voir également:

2 réponses

aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
19 févr. 2008 à 14:42
Bonjour,

N'ayant pas Linux, je n'ai pas de groupe d'utilisateur, je ne connais donc pas la commande pour l'obtenir ! Normalement, il doit être dans le dictionnaire généré par os.environ. Exectute ce script, il te donnera toute les infos du dictionnaire. Tu n'auras plus qu'a faire os.environ['Clé correspondant au groupe'] !

import os
Info = os.environ
for index in range(len(Info.keys())):
    print Info.keys()[index], ':', Info[Info.keys()[index]]P.S. : Attention, sous Windows la clé correspondant au nom d'utilisateur est USERNAME
et non LOGNAMEcomme tu l'as écrit. Je ne sais pas si la clé change suivant le système d'exploitation ou si c'est une erreur de recopie de ta part, mais gare au mauvaise surprise si les clés changes suivant les O.S. !
0
fredouzzz Messages postés 5 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 20 février 2008 8
19 févr. 2008 à 15:13
j'ai réussi avec ce code :

baseDN = "OU=MonOu,DC=domaine,DC=com"

searchScope = ldap.SCOPE_SUBTREE


UserCN = os.environ['USERNAME']

retrieveAttributes = ['memberOf']

searchFilter = "cn=*"+UserCN


pour effectuer ma recherche j'utilise par la suite ce code :

try:


    ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes)


    result_set = []


    while 1:


        result_type, result_data = l.result(ldap_result_id, 0)


        if (result_data == []):


            break


        else:



            if result_type == ldap.RES_SEARCH_ENTRY:


                result_set.append(result_data)


    print result_set

Il me renvoi alors ceci :

[[('CN=user1 user1,OU=OUAjoute,DC=linux,DC=lan',
{'memberOf': ['CN=MonGroupe1,OU=groupe,DC=linux,DC=lan', 'CN=Mon
Groupe2,OU=groupe,DC=linux,DC=lan']})

J'aimerais, si c'est possible,
sortir mes noms de groupes et les mettre dans des variables. Donc ici,
ne garder que "MonGroupe 1" et 'MonGroupe2" dans 2 variables
différentes.


On peut faire ça ?


Merci pour les infos.
0
Rejoignez-nous