Accès et manipulation de données avec ADSI

Tous les objets ont des propriétés. Tous les objets COM ADSI (Active Directory Service Interface) ont une ou plusieurs interfaces avec des méthodes qui récupèrent les propriétés de l’objet directory que l’objet COM représente. Il existe plusieurs façons de lire les propriétés d’un objet :

  • Obtenir une propriété spécifique par nom : l’interface IADs a deux méthodes IADs::Get et IADs::GetEx pour lire une propriété spécifique. Chaque objet COM ADSI a une interface IADs .
  • Obtenir une liste spécifiée de propriétés : l’interface IDirectoryObject a la méthode IDirectoryObject::GetObjectAttributes qui vous permet de spécifier une liste contenant les noms des propriétés à lire et retourne un tableau de structures contenant les valeurs de propriété demandées.
  • Énumérer toutes les propriétés sur l’objet : l’interface IADsPropertyList vous permet d’énumérer toutes les propriétés d’un objet.
  • Obtenir des propriétés spéciales : les interfaces Automation (IAD*) ont des méthodes de propriété qui vous permettent d’obtenir des propriétés spéciales qui ne sont pas stockées dans un objet. Ou les méthodes de propriété peuvent vous permettre d’obtenir une propriété d’objet dans un format de données différent du type de données réel stocké. Par exemple, l’interface IADs a des méthodes de propriété telles que IADs::get_Name, qui récupère le nom unique relatif (RDN) d’un objet ; IADs::get_Class, qui récupère la classe d’un objet, et IADs::get_Parent, qui récupère l’ADsPath sur le parent de l’objet.

ADSI vous permet de mettre en cache les propriétés localement une fois qu’elles ont été lues à partir du serveur d’annuaire. Cela vous permet de lire les propriétés à partir du cache de propriétés local ou de les récupérer directement à partir du serveur d’annuaire. ADSI a également des méthodes pour mettre à jour le cache et spécifier si toutes les propriétés d’un objet sont mises en cache ou uniquement celles que vous avez spécifiées.

Une fois que vous avez récupéré une propriété, vous lisez sa valeur. Le type de données d’une propriété dépend de la définition de la propriété (également appelée attribut) dans le schéma Active Directory. Pour chaque type de propriété qui peut exister dans Active Directory, il existe un objet attributeSchema dans le schéma Active Directory. Un objet attributeSchema définit les caractéristiques de l’attribut. L’une de ces caractéristiques est la syntaxe de l’attribut, qui détermine le type de données des valeurs de l’attribut. Pour plus d’informations, consultez Caractéristiques des attributs et syntaxes pour les attributs Active Directory.

Les interfaces Automation (IADs*) retournent une valeur de propriété en tant que VARIANT ou pointeur vers une interface Automation sur un objet COM qui représente la propriété. Les interfaces IDirectoryObject et IDirectorySearch retournent une propriété en tant que pointeur vers une structure contenant une valeur de propriété typée ou un pointeur vers une chaîne d’octets. En outre, IDirectoryObject et IDirectorySearch récupèrent les propriétés directement à partir du serveur d’annuaire au lieu d’utiliser un cache de propriétés local.

Cette section décrit les rubriques suivantes :