列舉樹系中的應用程式目錄分割區
如同網域分割區,每個應用程式目錄分割區都會以 configuration partitions 容器中的 crossRef 物件表示。 每個 crossRef 對象都會儲存其對應分割區的相關數據。
代表網域分割區的 crossRef 物件與 crossRef 物件區別,該物件會依 systemFlags 屬性的內容來代表應用程式目錄分割區。 代表網域分割區的 crossRef 物件將會同時設定 systemFlags 屬性中的ADS_SYSTEMFLAG_CR_NTDS_NC和ADS_SYSTEMFLAG_CR_NTDS_DOMAIN旗標。 代表應用程式目錄分割區的 crossRef 物件會設定ADS_SYSTEMFLAG_CR_NTDS_NC旗標,而且不會在 systemFlags 屬性中設定ADS_SYSTEMFLAG_CR_NTDS_DOMAIN旗標。
代表架構和組態分割區的 crossRef 物件也會設定ADS_SYSTEMFLAG_CR_NTDS_NC旗標,而且不會在 systemFlags 屬性中設定ADS_SYSTEMFLAG_CR_NTDS_DOMAIN旗標。 這需要這兩個 crossRef 物件以 nCName 屬性的內容來區分。 代表 Schema 容器之 crossRef 物件的 nCName 屬性會與 RootDSE 物件的 schemaNamingContext 屬性相同。 同樣地,代表 Configuration 容器之 crossRef 物件的 nCName 屬性會與 RootDSE 物件的 configurationNamingContext 屬性相同。
若要識別樹系中的所有應用程式目錄分割區,請執行下列步驟
- 在組態數據分割的 Partitions 容器中,搜尋或列舉所有 crossRef 物件。
- 如果 crossRef 對象沒有ADS_SYSTEMFLAG_CR_NTDS_NC旗標集,或已在 systemFlags 屬性值中設定ADS_SYSTEMFLAG_CR_NTDS_DOMAIN旗標,請將物件從結果集中排除。
- 藉由比較 crossRef 物件的 nCName 屬性與 RootDSE 物件的 schemaNamingContext 屬性,從結果集中排除 Schema 分割區。
- 藉由比較 crossRef 物件的 nCName 屬性與 RootDSE 物件的 configurationNamingContext 屬性,從結果集中排除組態分割區。
- 結果集中剩餘 的 crossRef 物件全都代表應用程式目錄分割區。