Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1341 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [PYTHON] récupérer données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PYTHON] récupérer données

n°2387419
paresseux9​1
Posté le 07-06-2021 à 20:12:53  profilanswer
 

Bonjour,
 
J'ai utilisé python pour me connecter à un annuaire LDAP.
source : https://dev.tranquil.it/samba/fr/do [...] samdb.html
 
Je rencontre un problème pour extraire certaine données d'une requête python.
Je voudrais récupérer dans l'object 'memberOf', le nom des groupes dans une liste. Dans cet exemple 'groupe1' et 'groupe2'. Sortie souhaité => [groupe1,groupe2].  
 
Je voudrais que cela soit adaptatif au nombre de groupe que l'utilisateur est intégré (de 1 à X groupes).
 
Code (Requête python) :
 
query = ("(sAMAccountName=user1)" )
result = samdb.search(domain_controller, expression=query, scope=ldb.SCOPE_SUBTREE)
dn = str(result[0])
print(dn)

 
Résultat :
 
Message({'dn': Dn('CN=user1,OU=People,DC=test,DC=lan'), 'objectClass': MessageElement([b'top',b'person',b'organizationalPerson',b'user']), 'cn': MessageElement([b'user1']), 'givenName': MessageElement([b'user1']), 'instanceType': MessageElement([b'4']), 'whenCreated': MessageElement([b'20210607145707.0Z']), 'displayName': MessageElement([b'user1']), 'uSNCreated': MessageElement([b'55885']), 'name': MessageElement([b'user1']), 'objectGUID': MessageElement([b'\x1c\xc0\xcf\x8e\x9e\xbf\x9aH\x8cg8\xa7\xa5c\x98R']), 'badPwdCount': MessageElement([b'0']), 'codePage': MessageElement([b'0']), 'countryCode': MessageElement([b'0']), 'badPasswordTime': MessageElement([b'0']), 'lastLogoff': MessageElement([b'0']), 'lastLogon': MessageElement([b'0']), 'primaryGroupID': MessageElement([b'513']), 'objectSid': MessageElement([b'\x01\x05\x00\x00\x00\x00\x00\x05\x15\x00\x00\x00\xcc\xac<\x1f\xb6?\xfd\xbe|\x8a\x16\xf5r!\x00\x00']), 'accountExpires': MessageElement([b'9223372036854775807']), 'logonCount': MessageElement([b'0']), 'sAMAccountName': MessageElement([b'user1']), 'sAMAccountType': MessageElement([b'805306368']), 'userPrincipalName': MessageElement([b'user1@test-test.com']), 'objectCategory': MessageElement([b'CN=Person,CN=Schema,CN=Configuration,DC=test,DC=lan']), 'pwdLastSet': MessageElement([b'132675514278088410']), 'userAccountControl': MessageElement([b'66048']), 'memberOf': MessageElement([b'CN=groupe1,OU=groupe1,OU=Agences,DC=test,DC=lan',b'CN=groupe2,OU=groupe2,OU=Agences,DC=test,DC=lan']), 'lastLogonTimestamp': MessageElement([b'132675515241036090']), 'whenChanged': MessageElement([b'20210607145844.0Z']), 'uSNChanged': MessageElement([b'55898']), 'distinguishedName': MessageElement([b'CN=user1,OU=People,DC=test,DC=lan'])})

Message cité 1 fois
Message édité par paresseux91 le 07-06-2021 à 20:23:36
mood
Publicité
Posté le 07-06-2021 à 20:12:53  profilanswer
 

n°2387420
paresseux9​1
Posté le 07-06-2021 à 20:22:27  profilanswer
 

paresseux91 a écrit :

Bonjour,
 
J'ai utilisé python pour me connecter à un annuaire LDAP.
 
Je rencontre un problème pour extraire certaine données d'une requête python.
Je voudrais récupérer dans l'object 'memberOf', le nom des groupes dans une liste. Dans cet exemple 'groupe1' et 'groupe2'. Sortie souhaité => [groupe1,groupe2].  
 
Je voudrais que cela soit adaptatif au nombre de groupe que l'utilisateur est intégré (de 1 à X groupes).
 
Code (Requête python) :
 
query = ("(sAMAccountName=user1)" )
result = samdb.search(domain_controller, expression=query, scope=ldb.SCOPE_SUBTREE)
dn = str(result[0])
print(dn)

 
Résultat :
 
Message({'dn': Dn('CN=user1,OU=People,DC=test,DC=lan'), 'objectClass': MessageElement([b'top',b'person',b'organizationalPerson',b'user']), 'cn': MessageElement([b'user1']), 'givenName': MessageElement([b'user1']), 'instanceType': MessageElement([b'4']), 'whenCreated': MessageElement([b'20210607145707.0Z']), 'displayName': MessageElement([b'user1']), 'uSNCreated': MessageElement([b'55885']), 'name': MessageElement([b'user1']), 'objectGUID': MessageElement([b'\x1c\xc0\xcf\x8e\x9e\xbf\x9aH\x8cg8\xa7\xa5c\x98R']), 'badPwdCount': MessageElement([b'0']), 'codePage': MessageElement([b'0']), 'countryCode': MessageElement([b'0']), 'badPasswordTime': MessageElement([b'0']), 'lastLogoff': MessageElement([b'0']), 'lastLogon': MessageElement([b'0']), 'primaryGroupID': MessageElement([b'513']), 'objectSid': MessageElement([b'\x01\x05\x00\x00\x00\x00\x00\x05\x15\x00\x00\x00\xcc\xac<\x1f\xb6?\xfd\xbe|\x8a\x16\xf5r!\x00\x00']), 'accountExpires': MessageElement([b'9223372036854775807']), 'logonCount': MessageElement([b'0']), 'sAMAccountName': MessageElement([b'user1']), 'sAMAccountType': MessageElement([b'805306368']), 'userPrincipalName': MessageElement([b'user1@test-test.com']), 'objectCategory': MessageElement([b'CN=Person,CN=Schema,CN=Configuration,DC=test,DC=lan']), 'pwdLastSet': MessageElement([b'132675514278088410']), 'userAccountControl': MessageElement([b'66048']), 'memberOf': MessageElement([b'CN=groupe1,OU=groupe1,OU=Agences,DC=test,DC=lan',b'CN=groupe2,OU=groupe2,OU=Agences,DC=test,DC=lan']), 'lastLogonTimestamp': MessageElement([b'132675515241036090']), 'whenChanged': MessageElement([b'20210607145844.0Z']), 'uSNChanged': MessageElement([b'55898']), 'distinguishedName': MessageElement([b'CN=user1,OU=People,DC=test,DC=lan'])})


 
Avec ce code je me suis rapproché du résultat, mais il ne marche pas si l'utilisateur est intègres dans plusieurs groupes :
 
Dans cette exemple l'utilisateur "user2" est uniquement dans le "groupe2"
 
Code :
 
query = ("(sAMAccountName=user2)" )
result = samdb.search(domain_controller, expression=query, scope=ldb.SCOPE_SUBTREE)
dn = str(result[0]['memberOf'])
print(dn)

 
Résultat :
 
CN=groupe2,OU=groupe2,OU=Agences,DC=test,DC=lan


Message édité par paresseux91 le 07-06-2021 à 20:27:32

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [PYTHON] récupérer données

 

Sujets relatifs
[python] Youtube comment downloader[Python] - Utilisation dictionnaire
Python et PillowXML espace dans les noms de noeud, acces en python
Mini projet python (Maintenance machines)Javascript API / Recuperer le resultat
Impossible d'exécuter un script PythonRécupérer les valeurs d'un csv et changer le format au vol
récupérer les donnees d'un fichier ds 1 tableau python 
Plus de sujets relatifs à : [PYTHON] récupérer données


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR