Énumération des appartenances d'un utilisateur
Cette rubrique fournit des informations et un exemple de code sur l'utilisation de Windows Form pour énumérer les appartenances d'un utilisateur.
Pour créer un Windows Form afin d'afficher les appartenances d'un utilisateur
Ouvrez Visual Studio et sélectionnez Nouveau projet.
Dans le volet Types de projets, cliquez sur Visual C# ou Visual Basic, puis dans le volet Modèles, cliquez sur Application Windows.
Nommez le nouveau projet, puis cliquez sur OK.
Cliquez sur Projet>Ajouter une référence, puis dans la liste affichée sous l'onglet .NET cliquez sur System.DirectoryServices.
Sur la page de création du formulaire, faites glisser une zone de texte de la boîte à outils jusqu'au formulaire et mettez-la en forme. C'est à ce stade que l'utilisateur ajoute un nom d'utilisateur à lier.
Faites glisser une étiquette de la boîte à outils jusqu'au formulaire et modifiez la propriété Text pour qu'elle indique « Entrez le nom : ».
Faites glisser un bouton de la boîte à outils jusqu'au formulaire et modifiez la propriété Text pour qu'elle indique « Rechercher les groupes ».
Faites glisser un contrôle ListBox de la boîte à outils jusqu'au formulaire. Les résultats s'affichent dans le formulaire.
Double-cliquez sur le formulaire pour accéder à la page de code.
S'il s'agit d'un exemple C#, ajoutez l'instruction « using System.DirectoryServices; » à la fin de la liste des instructions using. S'il s'agit d'un exemple Visual Basic, ajoutez l'instruction « Imports System.DirectoryServices » à la fin de la liste des instructions Imports.
Ajoutez l'exemple de code qui suit cette procédure au fichier source.
Compilez et exécutez l'application.
L'exemple suivant montre comment utiliser un Windows Form pour énumérer les appartenances d'un utilisateur.
Shared Sub Main()
Application.Run(New Form1())
End Sub 'Main
Private Sub label1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub 'label1_Click
Private Sub textBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub 'textBox1_TextChanged
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim strUserADsPath As String = "LDAP://fabrikam/cn=" + textBox1.Text + ",cn=users,dc=fabrikam,dc=com"
Dim oUser As DirectoryEntry
oUser = New DirectoryEntry(strUserADsPath)
listBox1.Items.Add("Groups to which {0} belongs:" + oUser.Name)
' Invoke IADsUser::Groups method.
Dim groups As Object = oUser.Invoke("Groups")
Dim group As Object
For Each group In CType(groups, IEnumerable)
' Get the Directory Entry.
Dim groupEntry As New DirectoryEntry(group)
listBox1.Items.Add(groupEntry.Name)
Next group
End Sub 'button1_Click
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub 'Form1_Load
static void Main()
{
Application.Run(new Form1());
}
private void label1_Click(object sender, System.EventArgs e)
{
}
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
}
private void button1_Click(object sender, System.EventArgs e)
{
string strUserADsPath = "LDAP://fabrikam/cn=" +textBox1.Text +",cn=users,dc=fabrikam,dc=com";
DirectoryEntry oUser;
oUser = new DirectoryEntry(strUserADsPath);
listBox1.Items.Add("Groups to which {0} belongs:"+ oUser.Name);
// Invoke IADsUser::Groups method.
object groups = oUser.Invoke("Groups");
foreach ( object group in (IEnumerable)groups)
{
// Get the Directory Entry.
DirectoryEntry groupEntry = new DirectoryEntry(group);
listBox1.Items.Add(groupEntry.Name);
}
}
private void Form1_Load(object sender, System.EventArgs e)
{
}
Voir aussi
Référence
Concepts
Send comments about this topic to Microsoft.
Copyright © 2007 par Microsoft Corporation. Tous droits réservés.