Ant8386
Messages postés36Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention16 mai 2006
-
29 juin 2005 à 17:27
Ant8386
Messages postés36Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention16 mai 2006
-
30 juin 2005 à 16:10
Bonsoir à tous,
Alors voilà j'ai un annuaire LDAP dans lequel je veux extraire des informations d'utilisateurs qui ne possèdent qu'une certaine valeur pour une certaine propriété.
J'ai trouvé ce code :
Public Function chercheruser()
Dim entry As New System.DirectoryServices.DirectoryEntry("[ldap://OU=mon_OU1,OU=User,OU=Accounts,DC=mon_domaine1,DC=mon_domaine2,DC=com/ LDAP://OU=mon_OU1,OU=User,OU=Accounts,DC=mon_domaine1,DC=mon_domaine2,DC=com]")
Dim mySearcher As New System.DirectoryServices.DirectorySearcher(entry)
Dim result As System.DirectoryServices.SearchResult
mySearcher.Filter = ("(cn='j*')")
For Each result In mySearcher.FindAll()
'Traitement
Next
End Function
Problème : c'est du .NET et j'aimerai faire ça dans du VBA. Pourriez vous m'aider SVP.
Mais le problème avec cette solution c'est que je teste ma condition dans la boucle et comme j'ai 4000 utilisateurs à cet endroit là et beh ça met en moyenne 7 min !
En gros : COMMENT PUIS-JE FAIRE POUR GAGNER DU TEMPS ? Je crois que c'est possible avec un filtre, mais comment ?
Ant8386
Messages postés36Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention16 mai 2006 30 juin 2005 à 08:41
Oui mais comment manipule-t-on array pour faire le filtre ???
J'ai déjà vu des trucs du style : objOU.Filter = Array("user")
mais ça c'est pas pour une propriété d'un utilisateur c'est pour un utilisateur tout court.
Je veux faire mon filtre sur une propriété et je ne sais pas faire.
En fait pour résumer je descends correctement dans la bonne unité d'organisation que je veux grâce au chemin LDAP mais le problème est que dans cette OU il y a 4000 utilisateurs et il y en a que 26 qui m'intéresse pour mon extraction !!!
Jusqu'à maintenant je bouclais sur les 4000 et je regardais si pour chacun la condition était remplie : seulement ça, ça met environ 10 min. Je voudrai pouvoir optimiser l'extraction avec un filtre.