Objektumosztály és objektumkategória
Az objektumosztály minden példánya rendelkezik egy többértékű objectClass tulajdonságmal, amely azonosítja azt az osztályt, amelynek az objektum egy példánya, valamint minden olyan szerkezeti vagy absztrakt szuperosztályt, amelyből az osztály származik. Így egy felhasználói objektum objectClass tulajdonsága azonosítja a legfelső, személy, szervezetiPersonés felhasználói osztályokat. Az objectClass tulajdonság nem tartalmaz segédosztályokat a listában. A rendszer beállítja a objectClass értéket az objektumpéldány létrehozásakor, és nem módosítható.
Az objektumosztály minden példánya rendelkezik egy objectCategory tulajdonságmal is, amely egy egyértékű tulajdonság, amely annak az osztálynak a megkülönböztető nevét tartalmazza, amelynek az objektuma példány vagy annak egyik szuperosztálya. Egy objektum létrehozásakor a rendszer a objectCategory tulajdonságát a defaultObjectCategory objektumosztálya által megadott értékre állítja. Az objektum objectCategory tulajdonsága nem módosítható.
További információkért és az objektum objectClass tulajdonságát lekérő példakódért lásd: Az objectClass attribútumbeolvasása.
Fontos
A Windows Server 2008 előtt a objectClass attribútum nincs indexelve. Ennek az az oka, hogy több értékkel rendelkezik, és rendkívül nem egyedi; vagyis az objectClass attribútum minden példánya tartalmazza a legfelső osztályt. Ez azt jelenti, hogy egy index nagyon nagy és hatástalan lenne. Egy adott osztály objektumainak megkereséséhez használja az objectCategory attribútumot, amely egyértékű és indexelt. További információ a tulajdonságok keresési szűrőkben való használatáról: A keresésmeghatározása.
A legtöbb osztály esetében az defaultObjectCategory az osztály classSchema objektum megkülönböztető neve. A organizationalUnit osztály defaultObjectCategory például a következő: "CN=Organizational-Unit,CN=Schema,CN=Configuration,<DC=forestroot>". Egyes osztályok azonban egy másik osztályra hivatkoznak, mivel defaultObjectCategory. Ez lehetővé teszi, hogy a lekérdezések könnyen megtalálják a kapcsolódó objektumok csoportjait, még akkor is, ha eltérő osztályokból állnak. Például a felhasználói, személy, szervezetiPerson, és kapcsolattartó osztály mind azonosítja a személyt osztályt a alapértelmezettObjectCategory tulajdonságai között. Ez lehetővé teszi, hogy az (objectCategory=person) keresési szűrők egyetlen lekérdezéssel megkeressék az ilyen osztályok példányait. Az emberek lekérdezései nagyon gyakoriak, ezért ez egy egyszerű optimalizálás.
Ha egy szerkezeti osztályból hoz létre alosztályt, az ajánlott eljárás az, ha az új osztály alapértelmezettObjectCategory értékét a szuperosztály azonos megkülönböztető nevére állítja. Ez lehetővé teszi, hogy a standard felhasználói felület "megkeresse" az alosztályt.