Récupérer liste users d'une OU d'AD [Résolu]

Signaler
Messages postés
38
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
2 août 2007
-
Messages postés
38
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
2 août 2007
-
Voici mon code :

Public
Function getUsersOU(
ByVal monCheminLdapRecherche
As
String, _

ByVal monUsername
As
String, _

ByVal monpassword
As
String)
As ArrayList

' ArrayList qui va contenir le résultat retourné par la recherche

Dim maListeUsers
As
New ArrayList

Try

' Instanciation d'un objet DirectorySearcher

' Définition de l'emplacement de recherche

Dim monEmplacementRecherche
As
NewDirectoryEntry(
"LDAP://" & _
OU test, OU Utilisateurs, CN = masociete, CN = com, monUsername, monpassword, AuthenticationTypes.Secure)

Dim maRecherche
As
New DirectorySearcher (monEmplacementRecherche)

' dureeMax initisalisée à 25 secondes

Dim dureeMax
As
New TimeSpan(0, 0, 25)

' Emplacement où la recherche doit être effectuée

' dans la hiérarchie Active DirectorymaRecherche.SearchRoot = monEmplacementRecherche

' Définition du Scope de la recherche, ici le conteneur

' seulement et tous ses "sous conteneur"maRecherche.SearchScope = SearchScope .Subtree

' Filtre uniquement les objets de type "user"maRecherche.Filter =

"(objectClass=user)"

' Détermination de la propriété à récupérer lors de la recherchemaRecherche.PropertiesToLoad.Add(

"sAMAccountName")

' Durée maximum de la recherchemaRecherche.ServerTimeLimit = dureeMax

' Fixe le nombre maximum d'objets retournésmaRecherche.SizeLimit = 1500

Dim unUtilisateur
AsDirectoryServices.SearchResult

' Récupération du 'sAMAccountName' des utilisateurs récupérés

For
Each unUtilisateur
In maRecherche.FindAll()
maListeUsers.Add(unUtilisateur.GetDirectoryEntry.Properties.Item(

"sAMAccountName").Value.ToString)

NextmonEmplacementRecherche.Close()

Catch ex
As Exception
MessageBox.Show(ex.Message)

End
Try

Return maListeUsers

End
Function

Ce code est sencé récupérer tous les utilisateurs qui sont dans une OU mais j'ai des soucis avec les points qui sont en gras et en rouge.
Quelqu'un peut-il me renseigner?
Merci

1 réponse

Messages postés
38
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
2 août 2007

Pour ceux que ca intéresse, il faut ajouter une référence à l'assembly "System.DirectoryServices" dans votre projet, et également ajouter deux "Imports" en entête de votre classe : "Imports System.DirectoryServices" et "Imports System.DirectoryServices.ActiveDirectory".