classSchema Objects

The classSchema object specifies the various attributes of the class with which it is associated and, among other things, defines the following constraints of objects that are instances of the class:

  • The list of mandatory attributes that must be present on any object that is an instance of this class.

  • The list of optional attributes that, in addition to the mustContain attributes, can and might be found on an object that is an instance of this class.

  • Hierarchy rules that determine the possible parents in the Directory Information Tree of an object that is an instance of the class.

An object can have only attributes that belong to either the mustContain or the mayContain list for the class.

The classSchema object is essentially a template that contains the "rules" for creating objects in an Active Directory class. When a new object is created in a class, the classSchema object ensures that this new object has the same properties ("attributes") as all other objects in the class. After an object has been created, the object's class can never be changed.

The classSchema object contains, among other things, the following information:

  • The LDAP display name of the class.

  • The object identifier for the class.

  • The GUID for the class.

  • The attributes that must be present for an instance of the class.

  • Other attributes that can be present for an instance of the class.

  • The classes to which the parent of instances of this class may belong.

  • The superclass from which this class inherits characteristics.

  • Other Auxiliary classes from which this class inherits attributes.

  • The type of class (Abstract, Structural, or Auxiliary.

  • The default hiding state for the class. If you do not want instances of your class displayed by the end-user user interface, you can define the class as hidden by default.