Énumération des partitions d’annuaire d’applications dans une forêt
Comme les partitions de domaine, chaque partition de répertoire d’application est représentée par un objet crossRef dans le conteneur Partitions de la partition Configuration. Chaque objet crossRef stocke des données sur sa partition correspondante.
Un objet crossRef qui représente une partition de domaine se distingue d’un objet crossRef qui représente une partition de répertoire d’application via le contenu de l’attribut systemFlags. L’objet crossRef qui représente une partition de domaine aura à la fois les indicateurs ADS_SYSTEMFLAG_CR_NTDS_NC et ADS_SYSTEMFLAG_CR_NTDS_DOMAIN définis dans l’attribut systemFlags. L’objet crossRef qui représente une partition de répertoire d’application présentera l’indicateur ADS_SYSTEMFLAG_CR_NTDS_NC défini et l’indicateur ADS_SYSTEMFLAG_CR_NTDS_DOMAIN ne sera pas défini dans l’attribut systemFlags.
Les objets crossRef qui représentent les partitions Schéma et Configuration présentent également l’indicateur ADS_SYSTEMFLAG_CR_NTDS_NC défini et l’indicateur ADS_SYSTEMFLAG_CR_NTDS_DOMAIN ne sera pas défini dans l’attribut systemFlags. Cela nécessite que ces deux objets crossRef se distinguent par le contenu de l’attribut nCName. L’attribut nCName de l’objet crossRef qui représente le conteneur Schéma sera identique à l’attribut schemaNamingContext de l’objet RootDSE. De même, l’attribut nCName de l’objet crossRef qui représente le conteneur Configuration sera identique à l’attribut configurationNamingContext de l’objet RootDSE.
Pour identifier toutes les partitions d’annuaire d’applications dans une forêt, procédez ainsi
- Dans le conteneur Partitions de la partition de configuration, recherchez ou énumérez tous les objets crossRef.
- Si un objet crossRef ne dispose pas de l’indicateur ADS_SYSTEMFLAG_CR_NTDS_NC défini ou si l’indicateur ADS_SYSTEMFLAG_CR_NTDS_DOMAIN est défini dans la valeur d’attribut systemFlags, excluez l’objet du jeu de résultats.
- Excluez la partition Schéma du jeu de résultats en comparant l’attribut nCName de l’objet crossRef avec l’attribut schemaNamingContext de l’objet RootDSE.
- Excluez la partition Configuration du jeu de résultats en comparant l’attribut nCName de l’objet crossRef avec l’attribut configurationNamingContext de l’objet RootDSE.
- Les objets crossRef restants dans le jeu de résultats représentent toutes les partitions de répertoire d’application.