Acceso y manipulación de datos con ADSI

Todos los objetos tienen propiedades. Todos los objetos COM de active Directory Service Interface (ADSI) tienen una o varias interfaces con métodos que recuperan las propiedades del objeto de directorio que representa el objeto COM. Hay varias maneras de leer las propiedades de un objeto:

  • Obtener una propiedad específica por nombre: la interfaz de IADs tiene dos métodos IADs::Get e IADs::GetEx para leer una propiedad específica. Cada objeto COM ADSI tiene una interfaz IADs .
  • Obtener una lista especificada de propiedades: la interfaz IDirectoryObject tiene el método IDirectoryObject::GetObjectAttributes que permite especificar una lista que contiene los nombres de las propiedades que se van a leer y devuelve una matriz de estructuras que contienen los valores de propiedad solicitados.
  • Enumerar todas las propiedades del objeto: la interfaz IADsPropertyList permite enumerar todas las propiedades de un objeto.
  • Obtener propiedades especiales: las interfaces de automatización (IAD*) tienen métodos de propiedad que permiten obtener propiedades especiales que no se almacenan en un objeto. O bien, los métodos de propiedad pueden permitirle obtener una propiedad de objeto en un formato de datos que difiere del tipo de datos real almacenado. Por ejemplo, la interfaz iaDs tiene métodos de propiedad como IADs::get_Name, que recupera el nombre distintivo relativo de un objeto (RDN); IADs::get_Class, que recupera la clase de un objeto e IADs::get_Parent, que recupera ADsPath en el elemento primario del objeto.

ADSI permite almacenar en caché las propiedades localmente después de que se hayan leído desde el servidor de directorios. Esto le permite leer las propiedades de la memoria caché de propiedades local o recuperar las propiedades directamente desde el servidor de directorios. ADSI también tiene métodos para actualizar la memoria caché, así como especificar si todas las propiedades de un objeto se almacenan en caché o solo las que ha especificado.

Después de recuperar una propiedad, lea su valor. El tipo de datos de una propiedad depende de la definición de la propiedad (también conocida como atributo) en el esquema de Active Directory. Para cada tipo de propiedad que puede existir en Active Directory, hay un objeto attributeSchema en el esquema de Active Directory. Un objeto attributeSchema define las características del atributo. Una de estas características es la sintaxis del atributo, que determina el tipo de datos de los valores del atributo. Para obtener más información, vea Características de atributos y sintaxis para atributos de Active Directory.

Las interfaces de Automatización (IADs*) devuelven un valor de propiedad como VARIANT o un puntero a una interfaz de Automation en un objeto COM que representa la propiedad . Las interfaces IDirectoryObject e IDirectorySearch devuelven una propiedad como puntero a una estructura que contiene un valor de propiedad con tipo o un puntero a una cadena de bytes. Además, IDirectoryObject e IDirectorySearch recuperan propiedades directamente desde el servidor de directorios en lugar de usar una caché de propiedades local.

En esta sección se describen los temas siguientes: