Bonjour,
j'ai codé un programme en vbnet sous visual basic 2005 express qui me permet de lister les membres d'un groupe dans l'active directory de windows.
Le prog ne rentre pas dans la boucle for each... next. Il execute tout ce qui se trouve en dehors de la boucle et ne me retourne aucune erreurs aucune exception. Si je rentre directement le chemin LDAP jusqu'à l'utilisateur il me donne bien les renseignements ("displayname","samaccountname").
Voilà le code si vous avez des suggestions, des réponses.
Je voulais savoir également, si je fais mes requètes LDAP à partir d'un poste client, est-ce nécessaire d'installer le framework 2.0 sur le serveur qui est actuellement en 1.1 ?
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
 
 
 Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        Dim MonCpt As String = CStr(TextBox1.Text)
        Dim MonPass As String = CStr(TextBox2.Text)
        Dim MonCheminLDAP As String = "CN=...,OU=...,DC=..."
        Dim MonEntree As New DirectoryEntry("LDAP://" & MonCheminLDAP, MonCpt, MonPass, AuthenticationTypes.Secure)
        Dim Chercher As DirectorySearcher = New DirectorySearcher(MonEntree)
        Dim Fichier As New StreamWriter("c:\MonFichier.txt")
        Chercher.Filter = "(ObjectCategory=user)"
 
        Try
            For Each resultat As SearchResult In Chercher.FindAll
                Dim DirEntree As DirectoryEntry = resultat.GetDirectoryEntry
                'On récupère l'entrée trouvée lors de la recherche
                'On peut maintenant afficher les informations désirées
                Fichier.WriteLine("Login : " + DirEntree.Properties("SAMAccountName").Value.ToString())
                Fichier.WriteLine("Nom : " + DirEntree.Properties("sn").Value)
                Fichier.WriteLine("Prénom : " + DirEntree.Properties("givenName").Value)
                Fichier.WriteLine("Email : " + DirEntree.Properties("mail").Value)
                Fichier.WriteLine("Tél : " + DirEntree.Properties("TelephoneNumber").Value)
                Fichier.WriteLine("Description : " + DirEntree.Properties("description").Value)
                Fichier.WriteLine("-------------------")
            Next
        Catch Ex As Exception
            MessageBox.Show(Ex.Message)
        End Try
 
        MonEntree.Close()
        Fichier.Close()
        MsgBox("Terminé")
        Application.Exit()
 
    End Sub