begin process at 2008 08 29 03:59:47
1 233 495 membres
36 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Récupérer des Groupes Active Directory [ Réseau et Internet / Général ] (fredouzzz)

Récupérer des Groupes Active Directory le 19/02/2008 10:41:02

fredouzzz
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!



Re : Récupérer des Groupes Active Directory le 19/02/2008 14:42:36

aera group
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. !


Re : Récupérer des Groupes Active Directory le 19/02/2008 15:13:49

fredouzzz
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.


Classé sous : récupérer, utilisateur, active, directory, groupes

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS