Restrictions sur l’extension de schéma
Afin de réduire la possibilité de modifications de schéma par une application cassant d’autres applications et de maintenir la cohérence du schéma, les services de domaine Active Directory appliquent des restrictions sur le type de modifications de schéma qu’une application ou un utilisateur est autorisé à effectuer.
Les restrictions sont imposées uniquement à la modification des objets de schéma existants. Le schéma est classé en deux catégories. Les objets de schéma fournis avec Windows 2000 dans le schéma de base appartiennent à la catégorie 1. Tous les objets de schéma ajoutés ultérieurement par d’autres applications ou utilisateurs via l’extension de schéma dynamique appartiennent à la catégorie 2. La catégorie d’un objet de schéma peut être déterminée par le bit 0x10 défini dans l’attribut systemFlags sur l’objet classSchema. Ce bit est défini uniquement sur les objets Category 1 et ne peut pas être modifié, ni n’est défini sur n’importe quel objet Category 2.
L’attribut systemFlags est utilisé en interne par Active Directory Domain Services pour identifier les caractéristiques spéciales des objets « infrastructure » dans le schéma de base. Outre l’identification des objets Category 1, systemFlags contrôle si un objet peut être déplacé, supprimé ou renommé. Ces opérations sont empêchées pour les objets que Windows 2000 dépend de l’exécution.
Sur tous les objets de schéma, catégorie 1 ou 2, les services de domaine Active Directory imposent les restrictions suivantes :
- Vous ne pouvez pas ajouter une nouvelle mustContain à une classe (directement ou via l’héritage en ajoutant une classe auxiliaire).
- Vous ne pouvez pas supprimer de mustContain de la classe (directement ou via l’héritage).
En outre, les restrictions supplémentaires suivantes sont imposées sur les objets de schéma de catégorie 1 :
Vous ne pouvez pas modifier les attributs suivants d’un attribut Catégorie 1 :
- rangeLower et rangeUpper (plage de valeurs).
- attributeSecurityGuid (détermine la propriété dans laquelle appartient l’attribut, le cas échéant).
Vous ne pouvez pas modifier la defaultObjectCategory d’une classe Category 1.
Vous ne pouvez pas modifier la objectCategory d’une instance d’une classe Category 1.
Vous ne pouvez pas rendre une classe ou un attribut Catégorie 1 obsolète.
Vous ne pouvez pas modifier le lDAPDisplayName d’une classe ou d’un attribut Category 1.
Vous ne pouvez pas renommer une classe ou un attribut Category 1.