Enumerazione di appartenenze degli utenti

In questo argomento sono incluse informazioni e un esempio di codice che illustra come utilizzare un Windows Form per enumerare le appartenenze degli utenti.

Per creare un Windows Form e visualizzare le appartenenze degli utenti

  1. Aprire Visual Studio e selezionare Nuovo progetto.

  2. Nel riquadro Tipi progetto fare clic su Visual C# o Visual Basic, quindi fare clic su Applicazione Windows nel riquadro Modelli.****

  3. Assegnare un nome al nuovo progetto e fare clic su OK.

  4. Fare clic su Progetto>Aggiungi riferimento..., quindi su System.DirectoryServices dall'elenco visualizzato nella scheda .NET.

  5. Nella pagina di progettazione del form, trascinare sul form una casella di testo dalla casella degli strumenti e formattarla. In questa casella l'utente aggiungerà un nome utente per l'associazione.

  6. Trascinare sul form un'etichetta e modificare la proprietà Testo in modo che riporti "Immettere il nome:".

  7. Trascinare sul form un pulsante dalla casella degli strumenti e modificare la proprietà Testo in modo che riporti "Trova gruppi".

  8. Trascinare sul form un controllo ListBox dalla casella degli strumenti. I risultati verranno visualizzati nel form.

  9. Fare doppio clic sul form per aprire la pagina del codice.

  10. Se si sta creando la versione C#, aggiungere l'istruzione "using System.DirectoryServices;" alla fine dell'elenco delle istruzioni using. Se si sta creando la versione Visual Basic, aggiungere l'istruzione "Imports System.DirectoryServices" alla fine dell'elenco delle istruzioni Imports.

  11. Aggiungere l'esempio di codice che segue questa procedura al file di origine.

  12. Compilare l'applicazione ed eseguirla.

Nell'esempio riportato di seguito viene illustrato come utilizzare un Windows Form per enumerare le appartenenze degli utenti.

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)
{
}

Vedere anche

Riferimenti

System.DirectoryServices

Concetti

Gestione di utenti

Send comments about this topic to Microsoft.

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.