다음을 통해 공유


포리스트에서 애플리케이션 디렉터리 파티션 열거

do기본 파티션과 마찬가지로 모든 애플리케이션 디렉터리 파티션은 구성 파티션의 Partitions 컨테이너에 있는 crossRef 개체로 표시됩니다.crossRef 개체는 해당 파티션에 대한 데이터를 저장합니다.

do기본 파티션을 나타내는 crossRef 개체는 systemFlags 특성의 내용으로 애플리케이션 디렉터리 파티션을 나타내는 crossRef 개체와 구분됩니다. do기본 파티션을 나타내는 crossRef 개체에는 systemFlags 특성에 설정된 ADS_SYSTEMFLAG_CR_NTDS_NC 플래그와 ADS_SYSTEMFLAG_CR_NTDS_DOMAIN 플래그가 모두 있습니다. 애플리케이션 디렉터리 파티션을 나타내는 crossRef 개체에는 ADS_SYSTEMFLAG_CR_NTDS_NC 플래그가 설정되고 ADS_SYSTEMFLAG_CR_NTDS_DOMAIN 플래그는 systemFlags 특성에 설정되지 않습니다.

스키마 및 구성 파티션을 나타내는 crossRef 개체에도 ADS_SYSTEMFLAG_CR_NTDS_NC 플래그가 설정되고 ADS_SYSTEMFLAG_CR_NTDS_DOMAIN 플래그는 systemFlags 특성에 설정되지 않습니다. 이렇게 하려면 이러한 두 crossRef 개체를 nCName 특성의 내용으로 구분해야 합니다. 스키마 컨테이너를 나타내는 crossRef 개체의 nCName 특성은 RootDSE 개체의 schemaNamingContext 특성과 동일합니다. 마찬가지로 구성 컨테이너를 나타내는 crossRef 개체의 nCName 특성은 RootDSE 개체의 configurationNamingContext 특성과 동일합니다.

포리스트의 모든 애플리케이션 디렉터리 파티션을 식별하려면 다음 단계를 수행합니다.

  1. 구성 파티션의 파티션 컨테이너에서 모든 crossRef 개체를 검색하거나 열거합니다.
  2. crossRef 개체에 ADS_SYSTEMFLAG_CR_NTDS_NC 플래그가 설정되어 있지 않거나 systemFlags 특성 값에 ADS_SYSTEMFLAG_CR_NTDS_DOMAIN 플래그가 설정된 경우 결과 집합에서 개체를 제외합니다.
  3. crossRef 개체의 nCName 특성을 RootDSE 개체의 schemaNamingContext 특성과 비교하여 결과 집합에서 스키마 파티션을 제외합니다.
  4. crossRef 개체의 nCName 특성을 RootDSE 개체의 configurationNamingContext 특성과 비교하여 결과 집합에서 Configuration 파티션을 제외합니다.
  5. 결과 집합의 crossRef 개체를 다시 기본 모두 애플리케이션 디렉터리 파티션을 나타냅니다.