Invocar propiedades ADSI

Es posible tener acceso directo a las propiedades de un objeto COM ADSI de una de estas dos maneras. La primera de ellas es utilizando el método InvokeMember. La segunda es usando los métodos InvokeGet y InvokeSet, que son nuevos con Microsoft .NET Framework versión 2.0.

El siguiente ejemplo de C# muestra cómo utilizar el método InvokeMember para recuperar las propiedades IADSUser, FirstName y LastName de una aplicación de código administrado. Para obtener más información sobre estas propiedades, vea los temas "IADsUser", "FirstName" y "LastName" de la biblioteca MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

using System.Reflection;
using System.DirectoryServices;

DirectoryEntry ent = new DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com");
Object ads = ent.NativeObject;
Type type = ads.GetType();
String firstName = (string)type.InvokeMember(
    "FirstName", 
    BindingFlags.GetProperty, 
    null, 
    ads, 
    null);
String lastName = (string)type.InvokeMember(
    "LastName", 
    BindingFlags.GetProperty, 
    null, 
    ads, 
    null);

El siguiente ejemplo de Visual Basic muestra cómo utilizar el método InvokeMember para recuperar las propiedades IADSUser, FirstName y LastName de una aplicación de código administrado. Para obtener más información sobre estas propiedades, vea los temas "IADsUser", "FirstName" y "LastName" de la biblioteca MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

Imports System.Reflection
Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
Dim ads As [Object] = ent.NativeObject
Dim type As Type = ads.GetType()
Dim firstName As String = CStr(type.InvokeMember( _
    "FirstName", _
    BindingFlags.GetProperty, _
    Nothing, _
    ads, _
    Nothing))
Dim lastName As String = CStr(type.InvokeMember( _
    "LastName", _
    BindingFlags.GetProperty, _
    Nothing, _
    ads, _
    Nothing))

El siguiente ejemplo de C# muestra cómo utilizar el método InvokeGet para recuperar las propiedades IADSUser, FirstName y LastName de una aplicación de código administrado. Para obtener más información sobre estas propiedades, vea los temas "IADsUser", "FirstName" y "LastName" de la biblioteca MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

.

using System.DirectoryServices;

DirectoryEntry ent = new DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com");
String firstName = (string)ent.InvokeGet("FirstName");
String lastName = (string)ent.InvokeGet("LastName");

El siguiente ejemplo de Visual Basic muestra cómo utilizar el método InvokeGet para recuperar las propiedades IADSUser, FirstName y LastName de una aplicación de código administrado. Para obtener más información sobre estas propiedades, vea los temas "IADsUser", "FirstName" y "LastName" de la biblioteca MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
Dim firstName As String = CStr(ent.InvokeGet("FirstName"))
Dim lastName As String = CStr(ent.InvokeGet("LastName"))

El siguiente ejemplo de C# muestra cómo utilizar el método InvokeMember para establecer la propiedad Description de un objeto.

using System.Reflection;
using System.DirectoryServices;

DirectoryEntry ent = new DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com");
Object ads = ent.NativeObject;
Type type = ads.GetType();
type.InvokeMember("Description", 
    BindingFlags.SetProperty, 
    null, 
    ads, 
    new object[] {"some description"});

// The changes to the object must always be committed or else they 
// will be lost.
ent.CommitChanges(); 

El siguiente ejemplo de Visual Basic muestra cómo establecer la propiedad Description de un objeto mediante el método InvokeMember.

Imports System.Reflection
Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
Dim ads As [Object] = ent.NativeObject
Dim type As Type = ads.GetType()
type.InvokeMember("Description", _
    BindingFlags.SetProperty, _
    Nothing, _
    ads, _
    New Object() {"some description"})

' The changes to the object must always be committed or else they 
' will be lost.
ent.CommitChanges()

El siguiente ejemplo de C# muestra cómo establecer la propiedad Description de una entrada de directorio mediante el método InvokeSet. Para obtener más información sobre la propiedad Description, vea el tema "Description" de la biblioteca de MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

using System.DirectoryServices;

DirectoryEntry ent = new DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com");
ent.InvokeSet("Description", new object[] {"some description"});

// The changes to the object must always be committed or else they 
// will be lost.
ent.CommitChanges();

El siguiente ejemplo de Visual Basic muestra cómo establecer la propiedad Description de una entrada de directorio mediante el método InvokeSet. Para obtener más información sobre la propiedad Description, vea el tema "Description" de la biblioteca de MSDN en https://go.microsoft.com/fwlink/?LinkID=27252.

Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
ent.InvokeSet("Description", New Object() {"some description"})

' The changes to the object must always be committed or else they 
' will be lost.
ent.CommitChanges()

Consulte también

Referencia

System.DirectoryServices
DirectoryEntry
Type

Conceptos

Invocar ADSI

Send comments about this topic to Microsoft.

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.