Caractéristiques des classes d’objets

Chaque classe d’objet dans Active Directory Domain Services est définie par un objet classSchema dans le conteneur de schéma. Les attributs d’un objet classSchema spécifient les caractéristiques de la classe, par exemple :

  • Identificateurs de classe : les classes ont plusieurs identificateurs, notamment ldapDisplayName, qui sont utilisés par les clients LDAP pour identifier la classe dans les filtres de recherche, et schemaIDGUID, qui sont utilisés dans les descripteurs de sécurité pour contrôler l’accès à la classe.
  • Attributs possibles : une définition de classe d’objet comprend des listes des attributs obligatoires et facultatifs qui peuvent être définis sur une instance de la classe.
  • Parents possibles : chaque instance d’objet, à l’exception de la racine de la hiérarchie de répertoire, a un seul parent. Une définition de classe d’objet comprend des listes de parents possibles, autrement dit, des classes d’objets qui peuvent contenir une instance de la classe.
  • Superclasses et classes auxiliaires : chaque classe d’objet (à l’exception de Top) est dérivée d’une autre classe. Une classe hérite des attributs possibles et des parents possibles des classes situées au-dessus dans la hiérarchie de classes. Une classe peut également avoir n’importe quel nombre de classes auxiliaires à partir desquelles elle hérite des listes d’attributs possibles. Pour plus d’informations, consultez héritage de classes dans le schéma de Active Directory.

Le tableau suivant répertorie le lDAPDisplayName et la description des attributs de clé d’un objet classSchema . Pour plus d’informations et pour obtenir la liste complète des attributs obligatoires et facultatifs d’un objet classSchema , consultez classSchema.

lDAPDisplayName Description
8525 Chaque objet de Active Directory Domain Services a un attribut de nom à partir duquel son nom unique relatif (RDN) est formé. L’attribut de nom pour les objets classSchema est CN (Common-Name). La valeur assignée à CN est la valeur que la classe Object aura comme RDN. Par exemple, le nom commun de la classe d’objet OrganizationalUnit est une unité d’organisation, qui apparaîtrait dans un nom unique sous la forme CN = Organization-Unit. Le nom commun doit être unique dans le conteneur de schéma.
lDAPDisplayName Nom utilisé par les clients LDAP, tels que le fournisseur LDAP ADSI, pour faire référence à la classe, par exemple pour spécifier la classe dans un filtre de recherche. Le lDAPDisplayName d’une classe doit être unique dans le conteneur de schéma, ce qui signifie qu’il doit être unique pour tous les objets classSchema et attributeSchema . Pour plus d’informations sur la composition d’un CN et d’un lDAPDisplayName pour une nouvelle classe, consultez Naming Attributes and classes.
schemaIDGUID GUID stocké en tant que chaîne d’octets. Ce GUID identifie de façon unique la classe. Ce GUID peut être utilisé dans les entrées de contrôle d’accès pour contrôler l’accès aux objets de cette classe. Pour plus d’informations, consultez définition d’autorisations sur les opérations d’objets enfants. Lors de la création de l’objet classSchema , le serveur Active Directory génère cette valeur s’il n’est pas spécifié. Si vous créez une nouvelle classe, générez votre propre GUID pour chaque classe afin que toutes les installations de votre extension utilisent le même schemaIDGUID pour faire référence à la classe.
adminDisplayName Nom complet de la classe à utiliser dans les outils d’administration. Si adminDisplayName n’est pas spécifié lors de la création d’une classe, le système utilise la valeur Common-Name comme nom d’affichage. Ce nom d’affichage est utilisé uniquement si aucun mappage n’existe dans la propriété classDisplayName du spécificateur d’affichage de la classe. Pour plus d’informations, consultez spécificateurs d’affichage , noms d’affichage de classes et d’attributs.
governsID OID de la classe. Cette valeur doit être unique parmi les governsIDs de tous les objets classSchema et les AttributeIDs de tous les objets attributeSchema . Pour plus d’informations, consultez identificateurs d’objets.
rDnAttId Identifie l’attribut d’affectation de noms, qui est l’attribut qui fournit le RDN pour cette classe, si différent de la valeur par défaut (CN). L’utilisation d’un attribut de nom autre que CN est déconseillée. Les attributs de nom doivent être tirés de l’ensemble connu (UO, CN, O, L et DC) qui est compris par tous les clients LDAP version 3. Pour plus d’informations, consultez noms et identités d’objets et syntaxes pour les attributs dans Active Directory Domain Services. Un attribut de nom doit avoir la syntaxe de chaîne de répertoire. Pour plus d’informations, consultez syntaxes for Attributes in Active Directory Domain Services.
mustContain, systemMustContain Paire de propriétés à valeurs multiples qui spécifient les attributs qui doivent être présents sur les instances de cette classe. Il s’agit d’attributs obligatoires qui doivent être présents pendant la création et ne peuvent pas être effacés après la création. Après la création de la classe, ces propriétés ne peuvent pas être modifiées. Le jeu complet d’attributs obligatoires pour une classe est l’Union des valeurs systemMustContain et mustContain sur cette classe et toutes les classes héritées.
mayContain, systemMayContain Paire de propriétés à valeurs multiples qui spécifient les attributs qui peuvent être présents sur les instances de cette classe. Il s’agit d’attributs facultatifs qui ne sont pas obligatoires et qui, par conséquent, peuvent être présents ou non sur une instance de cette classe. Vous pouvez ajouter ou supprimer des valeurs mayContain à partir d’un objet classSchema de catégorie 1 ou 2 existant. Avant de supprimer une valeur mayContain d’un objet classSchema , vous devez rechercher les instances de la classe d’objet et effacer toutes les valeurs de l’attribut que vous supprimez. Après la création de la classe, la propriété systemMayContain ne peut pas être modifiée. le jeu complet d’attributs facultatifs pour une classe est l’Union des valeurs systemMayContain et mayContain sur cette classe et toutes les classes héritées.
possSuperiors, systemPossSuperiors Paire de propriétés à valeurs multiples qui spécifient les classes structurelles qui peuvent être des parents juridiques des instances de cette classe. L’ensemble complet des supérieurs possibles est l’Union des valeurs systemPossSuperiors et possSuperiors sur cette classe et toutes les classes structurelles ou abstraites héritées. les valeurs systemPossSuperiors et possSuperiors ne sont pas héritées des classes auxiliaires. Vous pouvez ajouter ou supprimer des valeurs possSuperiors à partir d’un objet classSchema de catégorie 1 ou 2 existant. Après la création de la classe, la propriété systemPossSuperiors ne peut pas être modifiée.
objectClassCategory Valeur entière qui spécifie la catégorie de la classe, qui peut être l’une des suivantes :
  • Structure, ce qui signifie qu’elle peut être instanciée dans l’annuaire.
  • Abstrait, ce qui signifie que la classe fournit une définition de base d’une classe qui peut être utilisée pour former des classes structurelles.
  • Auxiliaire, ce qui signifie qu’une classe peut être utilisée pour étendre la définition d’une classe qui hérite de celle-ci, mais ne peut pas être utilisée pour former une classe par elle-même.
Pour plus d’informations, consultez classes structurelles, abstraites et auxiliaires.
subClassOf OID pour la superclasse immédiate de cette classe, autrement dit, la classe à partir de laquelle cette classe est dérivée. Pour les classes structurelles, subClassOf peut être une classe structurelle ou abstraite.
Pour les classes abstraites, subClassOf peut être une classe abstraite uniquement.
Pour les classes auxiliaires, subClassOf peut être une classe abstraite ou auxiliaire.
Si vous définissez une nouvelle classe, assurez-vous que la classe subClassOf existe ou qu’elle existera lorsque la nouvelle classe sera écrite dans le répertoire. Si la classe n’existe pas, l’objet classSchema n’est pas ajouté au répertoire.
auxiliaryClass, systemAuxiliaryClass Paire de propriétés à valeurs multiples qui spécifient les classes auxiliaires dont cette classe hérite. L’ensemble complet des classes auxiliaires est l’Union des valeurs systemAuxiliaryClass et auxiliaryClass sur cette classe et toutes les classes héritées. Pour un objet classSchema existant, les valeurs peuvent être ajoutées à la propriété auxiliaryClass , mais pas supprimées. Après la création de la classe, la propriété systemAuxiliaryClass ne peut pas être modifiée.
defaultObjectCategory Nom unique de cette classe d’objet ou de l’une de ses superclasses. Lorsqu’une instance de cette classe d’objets est créée, le système affecte à la propriété objectCategory de la nouvelle instance la valeur spécifiée dans la propriété defaultObjectCategory de sa classe d’objet. La propriété objectCategory est une propriété indexée qui permet d’augmenter l’efficacité des recherches de classes d’objets. Si defaultObjectCategory n’est pas spécifié lors de la création d’une classe, le système lui affecte le nom unique (DN) de l’objet classSchema pour cette classe. Si cet objet est fréquemment interrogé par la valeur d’une superclasse plutôt que par la propre classe de l’objet, vous pouvez définir defaultObjectCategory sur le DN de la superclasse. Par exemple, si vous sous-classez une classe prédéfinie (catégorie 1), la meilleure pratique consiste à définir defaultObjectCategory sur la même valeur que la superclasse. Cela permet à l’interface utilisateur standard de « rechercher » votre sous-classe.
Pour plus d’informations, consultez classe d’objet et catégorie d’objet.
defaultHidingValue Valeur booléenne qui spécifie le paramètre par défaut de la propriété showInAdvancedViewOnly des nouvelles instances de cette classe. De nombreux objets d’annuaire ne sont pas intéressants pour les utilisateurs finaux. Pour éviter que ces objets encombrent l’interface utilisateur, chaque objet possède un attribut booléen appelé showInAdvancedViewOnly. si defaultHidingValue a la valeur TRUE, les nouvelles instances d’objet sont masquées dans les composants logiciels enfichables d’administration et l’interpréteur de commandes Windows. Un élément de menu de la classe d’objet n’apparaît pas dans le nouveau menu contextuel des composants logiciels enfichables d’administration même si les propriétés appropriées de l’Assistant de création sont définies sur l’objet displaySpecifier de la classe d’objets.
si defaultHidingValue a la valeur false, les nouvelles instances de l’objet sont affichées dans les composants logiciels enfichables d’administration et le shell Windows. Affectez la valeur false à cette propriété pour afficher les instances de la classe dans les composants logiciels enfichables d’administration et l’interpréteur de commandes, puis activez un assistant de création et son élément de menu dans le nouveau menu des composants logiciels enfichables d’administration.
Si la valeur defaultHidingValue n’est pas définie, la valeur par défaut est true.
systemFlags Valeur entière qui contient des indicateurs qui définissent des propriétés supplémentaires de la classe. Le bit 0x10 identifie une classe de catégorie 1 (une classe qui fait partie du schéma de base inclus dans le système). Vous ne pouvez pas définir ce bit, ce qui signifie que le bit n’est pas défini dans les classes de catégorie 2 (qui sont des extensions du schéma).
systemOnly Valeur booléenne qui spécifie si seul le serveur de Active Directory peut modifier la classe. Les classes système uniquement peuvent être créées ou supprimées uniquement par l’agent de système d’annuaire (DSA). Les classes système uniquement sont celles dont le système dépend pour les opérations normales.
defaultSecurityDescriptor Spécifie le descripteur de sécurité par défaut pour les nouveaux objets de cette classe. Pour plus d’informations, consultez descripteur de sécurité par défaut et Comment les descripteurs de sécurité sont définis sur les nouveaux objets d’annuaire.
Définie Valeur booléenne qui indique si la classe est défunte. Pour plus d’informations, consultez désactivation des classes et attributs existants.
description Description textuelle de la classe à utiliser par les applications administratives.
objectClass Identifie la classe d’objet dont cet objet est une instance, qui est la classe d’objet classSchema pour toutes les définitions de classe et la classe d’objet attributeSchema pour toutes les définitions d’attributs.