Richiamo di metodi ADSI

Se un'interfaccia ADSI supporta l'interfaccia IDispatch, è possibile utilizzare il metodo Invoke per accedere ai metodi in quell'interfaccia. Ciò è valido anche per qualsiasi estensione ADSI eventualmente aggiunta in passato. Non è necessario includere la libreria ADSI per utilizzare il metodo Invoke.

Quando l'esecuzione di un metodo sottostante non riesce, può essere generata un'eccezione TargetInvocationException. La proprietà InnerException dell'oggetto TargetInvocationException è un oggetto COMException che contiene informazioni sull'errore effettivo che si è verificato.

Nell'esempio di codice C# riportato di seguito viene illustrato come richiamare il metodo SetPassword dell'interfaccia IADsUser per impostare una password. Per ulteriori informazioni sull'interfaccia IADsUser o sul metodo SetPassword, vedere gli argomenti relativi in MSDN Library all'indirizzo https://go.microsoft.com/fwlink/?LinkID=27252 (informazioni in lingua inglese).

DirectoryEntry usr = new DirectoryEntry("LDAP://CN=John Smith, DC=Fabrikam,DC=COM");
usr.Invoke("SetPassword", new object[] {SecurelyStoredPassword});

Nell'esempio di codice C# riportato di seguito viene illustrato come richiamare il metodo ChangePassword dell'interfaccia IADsUser per modificare una password. Per ulteriori informazioni sull'interfaccia IADsUser o sul metodo ChangePassword, vedere gli argomenti relativi in MSDN Library all'indirizzo https://go.microsoft.com/fwlink/?LinkID=27252 (informazioni in lingua inglese).

DirectoryEntry usr = new DirectoryEntry("LDAP://CN=John Smith, DC=Fabrikam,DC=COM");
usr.Invoke("ChangePassword", new object[] {SecurelyStoredPassword, NewSecurelyStoredPassword});

Nell'esempio di codice C# riportato di seguito viene illustrato come richiamare il metodo Members dell'interfaccia IADsGroup per recuperare i membri di un gruppo. Per ulteriori informazioni sull'interfaccia IADsGroup o sul metodo Members, vedere gli argomenti relativi in MSDN Library all'indirizzo https://go.microsoft.com/fwlink/?LinkID=27252 (informazioni in lingua inglese).

DirectoryEntry grpEntry = new DirectoryEntry("LDAP://CN=Enterprise Admins,CN=Users,DC=Fabrikam, DC=com");
object members = grpEntry.Invoke("Members",null);
foreach( object member in (IEnumerable) members)
{
    DirectoryEntry x = new DirectoryEntry(member);
    Console.WriteLine(x.Name);
}

Vedere anche

Riferimenti

System.DirectoryServices
DirectoryEntry
TargetInvocationException
COMException
TargetInvocationException

Concetti

Richiamo di ADSI

Send comments about this topic to Microsoft.

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.