Zugreifen auf und Bearbeiten von Daten mit ADSI
Alle Objekte verfügen über Eigenschaften. Alle ADSI-COM-Objekte (Active Directory Service Interface) 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, wie Sie Eigenschaften aus einem -Objekt lesen können:
- Abrufen einer bestimmten Eigenschaft anhand des Namens: Die IADs-Schnittstelle verfügt über zwei Methoden IADs::Get und IADs::GetEx , um eine bestimmte Eigenschaft zu lesen. Jedes ADSI COM-Objekt verfügt über eine IADs-Schnittstelle .
- Abrufen einer angegebenen Liste von Eigenschaften: Die IDirectoryObject-Schnittstelle verfügt über die Methode IDirectoryObject::GetObjectAttributes , 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 für das Objekt: Mit der IADsPropertyList-Schnittstelle können Sie alle Eigenschaften eines Objekts auflisten.
- Spezielle Eigenschaften abrufen: Die Automatisierungsschnittstellen (IADs*) verfügen über Eigenschaftenmethoden, mit denen Sie spezielle Eigenschaften abrufen können, die nicht in einem Objekt gespeichert sind. Oder die Eigenschaftenmethoden ermöglichen es Ihnen, eine Objekteigenschaft in einem Datenformat abzurufen, 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_Class, die die Klasse eines Objekts abruft, und IADs::get_Parent, der den ADsPath zum übergeordneten Objekt 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 sowie zum Angeben, ob alle Eigenschaften für ein Objekt zwischengespeichert werden oder nur die von Ihnen angegebenen.
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 Typ von Eigenschaft, der in Active Directory vorhanden sein kann, gibt es ein attributSchema-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 Syntaxen für Active Directory-Attribute.
Die Automation-Schnittstellen (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 typisierten Eigenschaftswert oder einen Zeiger auf eine Bytezeichenfolge enthält. Außerdem rufen IDirectoryObject und IDirectorySearch Eigenschaften direkt vom Verzeichnisserver ab, anstatt einen lokalen Eigenschaftencache zu verwenden.
In diesem Abschnitt werden die folgenden Themen beschrieben:
- Die IADs- und IDirectoryObject-Schnittstellen
- Zugreifen auf Attribute mit ADSI
- Ändern von Attributen mit ADSI
- Direkter Zugriff auf den Eigenschaftencache mit den IADsProperty-Schnittstellen
- ADSI-Attributsyntax