Compartir a través de


Invocar métodos ADSI

Si una interfaz ADSI admite la interfaz IDispatch, puede utilizar el método Invoke para obtener acceso a los métodos de esa interfaz. Esto también se aplica a cualquier extensión ADSI que pueda haber agregado en el pasado. No es necesario incluir la biblioteca ADSI para utilizar el método Invoke.

Cuando un método subyacente genera un error, se puede iniciar una excepción TargetInvocationException. La propiedad InnerException del objeto TargetInvocationException es un objeto COMException que contiene información sobre el error que realmente se ha producido.

En el siguiente ejemplo de C# se muestra cómo invocar el método SetPassword de la interfaz IADsUser para establecer una contraseña. Para obtener más información acerca de la interfaz IADsUser o el método SetPassword, vea "IADsUser" o "IADsUser::SetPassword" en la biblioteca de MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

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

En el siguiente ejemplo de C# se muestra cómo invocar el método ChangePassword de la interfaz IADsUser para cambiar una contraseña. Para obtener más información acerca de la interfaz IADsUser o el método ChangePassword, vea "IADsUser" o "IADsUser::ChangePassword" en la biblioteca de MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

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

En el siguiente ejemplo de C# se muestra cómo invocar el método Members de la interfaz IADsGroup para recuperar los miembros de un grupo. Para obtener más información acerca de la interfaz IADsUser o el método Members, vea "IADsUser" o "IADsUser::Members" en la biblioteca de MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

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

Consulte también

Referencia

System.DirectoryServices
DirectoryEntry
TargetInvocationException
COMException
TargetInvocationException

Conceptos

Invocar ADSI

Send comments about this topic to Microsoft.

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.