IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

lister les utilisateurs d'une OU d'Active Directory


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut lister les utilisateurs d'une OU d'Active Directory
    Après plusieures tentatives pour afficher dans une comboBox la liste des utilisateurs présents dans une OU d'Active Directory, je n'y arrive toujours pas.

    Je vous mets ici le fonction que j'ai faite au début du script (sous visual studio 2005)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    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 New DirectoryEntry("LDAP://" & _
           monCheminLdapRecherche, 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 Directory
                maRecherche.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 recherche
                maRecherche.PropertiesToLoad.Add("sAMAccountName")
     
                ' Durée maximum de la recherche
                maRecherche.ServerTimeLimit = dureeMax
     
                ' Fixe le nombre maximum d'objets retournés
                maRecherche.SizeLimit = 1500
     
                Dim unUtilisateur As DirectoryServices.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)
                Next
     
                monEmplacementRecherche.Close()
     
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
     
            Return maListeUsers
     
        End Function
    Et le code de ma comboBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub CbBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CbBox2.SelectedIndexChanged
            CbBox2.DroppedDown = True
     
                Dim listeUserOU As ArrayList = getUsersOU("OU=Utilisateurs,DC=societe,DC=fr", "login", "motdepasse")
                For Each nom As String In listeUserOU
                    CbBox2.Items.Add(nom)
                Next
        End Sub

    Il n'y a aucune erreur de générée par contre il n'y a rien dans la comboBox. Vu que je n'ai pas les conditions optimals pour réaliser ces tests, il se peut que cela vienne du login et mot de passe du compte ayant les droits ???????

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 35
    Par défaut
    Slt,

    ta fonction getUser est correcte.
    Pour le sub combobox, tu le fait quand tu change de index (evenement). Pourquoi tu rempli pas ton combobox dans la function getuser directement.

    Pour savoir si récupère bien les logins des comptes AD. Tu lance en mode debug, tu met un pts d'arret à cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monEmplacementRecherche.Close()
    Dans les fenetres du debuggage, tu regardes l'objet maListeUsers. Regarde le nombre d'élément. Tu peux meme regarder l'élément à un certain indice.

    voila.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut
    Ma version est visual studio 2005 Express.

    Peux-tu m'expliquer un peut ce mode de debug car je ne vois pas trop. J'ai pourtant un petit livre sur VB 2005 mais on dirai qu'il n'y a pas toutes les options

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 35
    Par défaut
    Reslt,

    je travail sur visual studio 2005 en anglais.

    Le debug s'éxécute en pressant sur F5.
    Sinon c'est dans le menu Debug> Start debugging.

    Sinon as-tu essayé de mettre ta fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim listeUserOU As ArrayList = getUsersOU("OU=Utilisateurs,DC=societe,DC=fr", "login", "motdepasse")
                For Each nom As String In listeUserOU
                    CbBox2.Items.Add(nom)
                Next
    dans l'évenement page load()?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut
    Pour le débug je vois, d'ailleurs il n'y a aucun pb, c'est pour les points d'arrets que je ne vois pas.

    Quesque l'événement page load() ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 35
    Par défaut
    pour mettre un point d'arrete tu clique sur la ligne et tu appuie sur F9. Ou cliquer au bord à gauche de la ligne. Un point d'arret marron s'affichera.

    Pour le page load, j'ai pas vu que tu developpes en C#. Donc il y en a pas je crois ( page_load() en vb.net, projet web).

    En fait le page_load, il faut trouver l'évenement similaire en C#, c'est l'évenement qui se déclenche quand tu démarres l'appli. Ca doit être un truc du genre form load, on load... à trouver.

    Voila

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/06/2013, 13h39
  2. Lister les groupes d'une OU d'Active Directory
    Par rixxou dans le forum VBScript
    Réponses: 0
    Dernier message: 09/06/2011, 16h55
  3. Lister les utilisateur d'une OU sous un Active Directory 2003
    Par nawfal_saber dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 24/05/2011, 10h23
  4. Lister les utilisateurs d'une machine
    Par Le_Suisse dans le forum Langage
    Réponses: 0
    Dernier message: 24/10/2008, 10h37
  5. [ADSI] Lister les utilisateurs d'une OU
    Par Julien.alkaza dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/02/2008, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo