!!! Overview [{$pagename}] each instance of an [objectClass] also has an [{$pagename}] property, which is a [SINGLE-VALUE] property that contains the [DistinguishedName] of either the class of which the object is an instance or one of its superclasses. When an [objectClass] is created, the system sets its [{$pagename}] property to the value specified by the [defaultObjectCategory] property of its [objectClass]. An object's [{$pagename}] property __cannot be changed__. For most classes, the [defaultObjectCategory] is the distinguished name of the class's classSchema object. For example, the [defaultObjectCategory] for the organizationalUnit class is "CN=Organizational-Unit,CN=Schema,CN=Configuration,<DC=forestroot>". However, some classes refer to another class as their defaultObjectCategory. This allows a query to readily find groups of related objects, even if they are of differing classes. For example, the user, person, organizationalPerson, and contact classes all identify the person class in their [defaultObjectCategory] properties. This allows search filters like (objectCategory=person) to locate instances of all these classes with a single query. Queries for people are very common, so this is a simple optimization. If you create a subclass from a structural class, the best practice is to set the [defaultObjectCategory] value of the new class to the same distinguished name of the superclass. This allows the standard UI to "find" the subclass. %%warning Prior to [Windows Server 2008], the [objectClass] attribute __is not indexed__. This is because it has multiple values and is highly non-unique; that is, every instance of the [objectClass] attribute includes the top class. This means an index would be very large and ineffective. To locate objects of a given class, use the [objectCategory] attribute, which is [SINGLE-VALUE] and indexed. %% !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }]