Aufzählen von Anwendungsverzeichnispartitionen in einer Gesamtstruktur
Wie Domänenpartitionen werden auch Anwendungsverzeichnispartitionen durch ein crossRef-Objekt im Partitionencontainer der Konfigurationspartition dargestellt. In jedem crossRef-Objekt sind Daten über die entsprechende Partition gespeichert.
Bei einem crossRef-Objekt, das eine Domänenpartition darstellt, unterscheidet sich der Inhalt des systemFlags-Attributs von dem eines crossRef-Objekts, das eine Anwendungsverzeichnispartition darstellt. Bei einem crossRef-Objekt, das eine Domänenpartition darstellt, sind die Flags ADS_SYSTEMFLAG_CR_NTDS_NC und ADS_SYSTEMFLAG_CR_NTDS_DOMAIN im systemFlags-Attribut festgelegt. Bei einem crossRef-Objekt, das eine Anwendungsverzeichnispartition darstellt, sind die Flags ADS_SYSTEMFLAG_CR_NTDS_NC und ADS_SYSTEMFLAG_CR_NTDS_DOMAIN nicht im systemFlags-Attribut festgelegt.
Bei crossRef-Objekten, die Schema- und Konfigurationspartitionen darstellen, sind die Flags ADS_SYSTEMFLAG_CR_NTDS_NC und ADS_SYSTEMFLAG_CR_NTDS_DOMAIN ebenfalls nicht im systemFlags-Attribut festgelegt. Deshalb müssen diese beiden crossRef-Objekte über den Inhalt des nCName-Attributs unterschieden werden. Das nCName-Attribut ist für ein crossRef-Objekt, das den Schemacontainer darstellt, identisch mit dem schemaNamingContext-Attribut des RootDSE-Objekts. Entsprechend ist das nCName-Attribut für ein crossRef-Objekt, das den Konfigurationscontainer darstellt, mit dem configurationNamingContext-Attribut des RootDSE-Objekts identisch.
Führen Sie die folgenden Schritte aus, um alle Anwendungsverzeichnispartitionen in einer Gesamtstruktur zu identifizieren.
- Suchen Sie im Partitionencontainer der Konfigurationspartition nach allen crossRef-Objekten, oder enumerieren Sie diese.
- Wenn für ein crossRef-Objekt nicht das Flag ADS_SYSTEMFLAG_CR_NTDS_NC oder das Flag ADS_SYSTEMFLAG_CR_NTDS_DOMAIN im systemFlags-Attributwert festgelegt sind, schließen Sie das Objekt aus dem Resultset aus.
- Sie schließen die Schemapartition aus dem Resultset aus, indem Sie das nCName-Attribut des crossRef-Objekts mit dem schemaNamingContext-Attribut des RootDSE-Objekts vergleichen.
- Sie schließen die Konfigurationspartition aus dem Resultset aus, indem Sie das nCName-Attribut des crossRef-Objekts mit dem configurationNamingContext-Attribut des RootDSE-Objekts vergleichen.
- Die verbleibenden crossRef-Objekte im Resultset stellen alle Anwendungsverzeichnispartitionen dar.