Zugreifen auf und Bearbeiten von Daten mit ADSI
Alle Objekte verfügen über Eigenschaften. Alle COM-Objekte (Active Directory Service Interface, ADSI) verfügen über eine oder mehrere Schnittstellen mit Methoden, die die Eigenschaften des Verzeichnisobjekts abrufen, das das COM-Objekt darstellt. Es gibt eine Reihe von Möglichkeiten zum Lesen von Eigenschaften aus einem Objekt:
- Bestimmte Eigenschaft nach Namen erhalten: Die IADs-Schnittstelle verfügt über zwei Methoden: IADs::Get und IADs::GetEx zum Lesen einer bestimmten Eigenschaft. Jedes ADSI COM-Objekt verfügt über eine IADs-Schnittstelle.
- Rufen Sie eine angegebene Liste von Eigenschaften ab: Die IDirectoryObject-Schnittstelle verfügt über die IDirectoryObject::GetObjectAttributes-Methode, mit der Sie eine Liste angeben können, die die Namen der zu lesenden Eigenschaften enthält, und gibt ein Array von Strukturen zurück, die die angeforderten Eigenschaftswerte enthalten.
- Auflisten aller Eigenschaften des Objekts: Mit der IADsPropertyList-Schnittstelle können Sie alle Eigenschaften eines Objekts auflisten.
- Spezielle Eigenschaften erhalten: Die Automatisierungsschnittstellen (IADs)verfügen über Eigenschaftenmethoden, mit denen Sie spezielle Eigenschaften erhalten können, die * nicht in einem -Objekt gespeichert sind. Oder mit den Eigenschaftenmethoden können Sie eine Objekteigenschaft in einem Datenformat erhalten, das sich vom tatsächlich gespeicherten Datentyp unterscheidet. Die IADs-Schnittstelle verfügt beispielsweise über Eigenschaftenmethoden wie IADs::get _ Name,die den relativen Distinguished Name (RDN) eines Objekts abrufen. IADs::get _ Klasse, die die Klasse eines Objekts abruft, und IADs::get _ Parent, die den ADsPath zum übergeordneten Element des Objekts abruft.
MIT ADSI können Sie Eigenschaften lokal zwischenspeichern, nachdem sie vom Verzeichnisserver gelesen wurden. Auf diese Weise können Sie die Eigenschaften aus dem lokalen Eigenschaftencache lesen oder die Eigenschaften direkt vom Verzeichnisserver abrufen. ADSI verfügt auch über Methoden zum Aktualisieren des Caches und gibt an, ob alle Eigenschaften für ein Objekt zwischengespeichert werden oder nur die von Ihnen angegebenen Eigenschaften.
Nachdem Sie eine Eigenschaft abgerufen haben, lesen Sie ihren Wert. Der Datentyp einer Eigenschaft hängt von der Definition der Eigenschaft (auch als Attribut bezeichnet) im Active Directory-Schema ab. Für jeden Eigenschaftstyp, der in Active Directory vorhanden sein kann, gibt es ein attributeSchema-Objekt im Active Directory-Schema. Ein attributeSchema-Objekt definiert die Merkmale des Attributs. Eines dieser Merkmale ist die Syntax des Attributs, die den Datentyp der Werte des Attributs bestimmt. Weitere Informationen finden Sie unter Merkmale von Attributen und Syntaxes für Active Directory-Attribute.
Die Automatisierungsschnittstellen (IADs)geben einen Eigenschaftswert als VARIANT oder einen Zeiger auf eine Automation-Schnittstelle in einem COM-Objekt zurück, das * die Eigenschaft darstellt. Die Schnittstellen IDirectoryObject und IDirectorySearch geben eine Eigenschaft als Zeiger auf eine Struktur zurück, die einen typierten Eigenschaftswert oder einen Zeiger auf eine Zeichenfolge von Bytes enthält. Darüber hinaus rufen IDirectoryObject und IDirectorySearch Eigenschaften direkt vom Verzeichnisserver ab, anstatt einen lokalen Eigenschaftencache zu verwenden.
In diesem Abschnitt werden die folgenden Themen beschrieben: