Freigeben über


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.

  1. Suchen Sie im Partitionencontainer der Konfigurationspartition nach allen crossRef-Objekten, oder enumerieren Sie diese.
  2. 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.
  3. 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.
  4. 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.
  5. Die verbleibenden crossRef-Objekte im Resultset stellen alle Anwendungsverzeichnispartitionen dar.