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'])})
|