Eigenschaften der Objektklassen
Jede Objektklasse in Active Directory Domain Services wird durch ein classSchema-Objekt im Schemacontainer definiert. Die Attribute eines classSchema-Objekts geben die Eigenschaften der Klasse an, z. B.:
- Klassenbezeichner: Klassen verfügen über mehrere Bezeichner, wie ldapDisplayName, die LDAP-Clients für die Identifizierung der Klasse in Suchfiltern verwendeniden, und schemaIDGUID, die in Sicherheitsbeschreibungen verwendet werden, um den Zugriff auf die Klasse zu steuern.
- Mögliche Attribute: Eine Objektklassendefinition enthält Listen der erforderlichen und optionalen Attribute, die für eine Instanz der Klasse festgelegt werden können.
- Mögliche übergeordnete Elemente: Alle Objektinstanzen, mit Ausnahme des Stammes der Verzeichnishierarchie, haben genau ein übergeordnetes Element. Eine Objektklassendefinition enthält Listen möglicher übergeordneter Klassen, d. h. der Objektklassen, die eine Instanz der Klasse enthalten können.
- Superklassen und Hilfsklassen: Jede Objektklasse (außer top) wird von einer anderen Klasse abgeleitet. Eine Klasse erbt mögliche Attribute und mögliche übergeordnete Elemente von den Klassen, die in der Klassenhierarchie über ihr stehen. Eine Klasse kann auch eine beliebige Anzahl von Hilfsklassen aufweisen, von denen sie Listen möglicher Attribute erbt. Weitere Informationen finden Sie unter Vererben von Klassen im Active Directory-Schema.
In der folgenden Tabelle sind der lDAPDisplayName und die Beschreibung der Schlüsselattribute eines classSchema-Objekts aufgeführt. Weitere Informationen und eine vollständige Liste der erforderlichen und optionalen Attribute eines classSchema-Objekts finden Sie unter classSchema.
lDAPDisplayName | Beschreibung |
---|---|
cn | Jedes Objekt in Active Directory Domain Services verfügt über ein Namensattribut, auf dessen Basis der RDN (Relative Distinguished Name) gebildet wird. classSchema-Objekte haben das Namensattribut cn (Common-Name, allgemeiner Name). Bei dem Wert, der cn zugeordnet ist, handelt es sich um den RDN-Wert der Objektklasse. So lautet z. B. der cn der Objektklasse organizationalUnit „Organizational-Unit“. Er wird in einem Distinguished Name (DN) als CN=Organizational-Unit angezeigt. Der cn muss im Schemacontainer eindeutig sein. |
lDAPDisplayName | Der Name, der von LDAP-Clients (z. B. dem ADSI LDAP-Anbieter) verwendet wird, um auf die Klasse zu verweisen, wenn z. B. die Klasse in einem Suchfilter angegeben werden soll. Ein lDAPDisplayName der Klasse muss im Schemacontainer eindeutig sein. Das bedeutet, er muss in allen classSchema- und attributeSchema-Objekten eindeutig sein. Weitere Informationen zum Erstellen eines cn und eines lDAPDisplayName für eine neue Klasse finden Sie unter Benennen von Attributen und Klassen. |
schemaIDGUID | Eine eindeutige Identifizierungsnummer (Global Unique Identifier, GUID), die als Oktettzeichenfolge gespeichert ist. Diese GUID identifiziert eindeutig die Klasse. Diese GUID kann in Zugriffssteuerungseinträgen verwendet werden, um den Zugriff auf Objekte dieser Klasse zu steuern. Weitere Informationen finden Sie unter Festlegen von Berechtigungen für untergeordnete Objektvorgänge. Beim Erstellen des classSchema-Objekts generiert der Active Directory-Server diesen Wert, wenn er nicht angegeben ist. Wenn Sie eine neue Klasse erstellen, generieren Sie für jede Klasse eine eigene GUID, damit alle Installationen Ihrer Erweiterung zum Verweisen auf die Klasse dieselbe schemaIDGUID verwenden. |
adminDisplayName | Ein Anzeigename der Klasse für die Verwendung in Verwaltungstools. Wenn adminDisplayName beim Erstellen einer Klasse nicht angegeben wird, verwendet das System als Anzeigenamen den „Common-Name“-Wert. Dieser Anzeigename wird nur dann verwendet, wenn in der classDisplayName-Eigenschaft des Anzeigebezeichners für die Klasse keine Zuordnung vorhanden ist. Weitere Informationen finden Sie unter Anzeigebezeichner und Anzeigenamen für Klassen und Attribute. |
governsID | Der OID (Object Identifyer) der Klasse. Dieser Wert muss für die governsIDs aller classSchema-Objekte und für die attributeIDs aller attributeSchema-Objekte eindeutig sein. Weitere Informationen finden Sie unter Objektbezeichner. |
rDnAttId | Gibt das Namensattribut an, das den RDN (Relative Distinguished Name) für diese Klasse bereitstellt, wenn es sich nicht um den Standardwert (cn) handelt. Es wird davon abgeraten, ein anderes Namensattribut als cn zu verwenden. Benennungsattribute sollten von der bekannten Gruppe (OU, CN, O, L und DC) abgeleitet werden, die alle LDAP-Version 3-Clients verstehen. Weitere Informationen finden Sie unter Objektnamen und Identitäten und Syntaxen für Attribute in Active Directory Domain Services. Ein Namensattribut muss über die Syntax der Verzeichniszeichenfolge verfügen. Weitere Informationen finden Sie unter Syntaxen für Attribute in Active Directory Domain Services. |
mustContain, systemMustContain | Ein Paar mehrwertige Eigenschaften, die die Attribute angeben, die in Instanzen dieser Klasse enthalten sein müssen. Es handelt sich dabei um erforderliche Attribute, die bei der Erstellung vorhanden sein müssen und nach der Erstellung nicht gelöscht werden können. Diese Eigenschaften können nach der Erstellung der Klasse nicht mehr geändert werden. Der vollständige Satz der für eine Klasse erforderlichen Attribute vereint die systemMustContain- und mustContain-Werte für diese Klasse und für alle geerbten Klassen. |
mayContain, systemMayContain | Ein Paar mehrwertige Eigenschaften, die die Attribute angeben, die in Instanzen dieser Klasse enthalten sein können. Hierbei handelt es sich um optionale Attribute, die nicht obligatorisch und daher möglicherweise in einer Instanz dieser Klasse vorhanden oder nicht vorhanden sind. Sie können mayContain-Werte aus einem vorhandenen classSchema-Objekt der Kategorie 1 oder Kategorie 2 entfernen. Bevor Sie einen mayContain-Wert aus einem classSchema-Objekt entfernen, sollten Sie nach Instanzen dieser Objektklasse suchen und für das Attribut, das Sie entfernen, alle Werte löschen. Die systemMayContain-Eigenschaft kann nach der Erstellung der Klasse nicht geändert werden. Der vollständige Satz der Attribute, die für eine Klasse optional sind, vereint die systemMayContain- und mayContain-Werte für diese Klasse und für alle geerbten Klassen. |
possSuperiors, systemPossSuperiors | Ein Paar mehrwertige Eigenschaften, die die strukturellen Klassen definieren, die zulässige übergeordnete Elemente der Instanzen dieser Klasse sein können. Der vollständige Satz der möglichen übergeordneten Elemente vereint die systemPossSuperiors- und possSuperiors-Werte für diese Klasse sowie für alle geerbten strukturellen oder abstrakten Klassen. systemPossSuperiors- und possSuperiors-Werte werden nicht von Hilfsklassen vererbt. Sie können possSuperiors-Werte aus einem vorhandenen classSchema-Objekt der Kategorie 1 oder Kategorie 2 entfernen. Die systemMayContain-Eigenschaft kann nach der Erstellung der Klasse nicht geändert werden. |
objectClassCategory | Ein ganzzahliger Wert, der die Kategorie einer der folgenden Klassen angibt:
|
subClassOf | Ein OID für die unmittelbare übergeordnete Klasse dieser Klasse, d. h. die Klasse, von der diese Klasse abgeleitet ist. Bei strukturellen Klassen kann subClassOf eine strukturelle oder abstrakte Klasse sein. Bei abstrakten Klassen kann subClassOf nur eine abstrakte Klasse sein. Bei Hilfsklassen kann subClassOf eine abstrakte oder eine Hilfsklasse sein. Wenn Sie eine neue Klasse definieren, stellen Sie sicher, dass die subClassOf-Klasse vorhanden ist oder vorhanden sein wird, wenn die neue Klasse in das Verzeichnis geschrieben wird. Wenn die Klasse nicht vorhanden ist, wird das classSchema-Objekt nicht zum Verzeichnis hinzugefügt. |
auxiliaryClass, systemAuxiliaryClass | Ein Paar mehrwertiger Eigenschaften, die die Hilfsklassen festlegen, von denen diese Klasse erbt. Der vollständige Satz der Hilfsklassen vereint die SystemAuxiliaryClass - und Hilfsklassen-Werte für diese Klasse und alle geerbten Klassen. Bei einem vorhandenen classSchema-Objekt können Werte zur auxiliaryClass-Eigenschaft hinzugefügt, jedoch nicht von dieser entfernt werden. Die systemAuxiliaryClass-Eigenschaft kann nach der Erstellung der Klasse nicht geändert werden. |
defaultObjectCategory | Der Distinguished Name dieser Objektklasse oder einer seiner übergeordneten Klassen. Wenn eine Instanz dieser Objektklasse erstellt wird, legt das System die objectCategory-Eigenschaft der neuen Instanz auf den Wert fest, der in der defaultObjectCategory-Eigenschaft seiner Objektklasse festgelegt ist. Die ObjectCategory-Eigenschaft ist eine indizierte Eigenschaft, die zur Steigerung der Effizienz von Objektklassensuchen verwendet wird. Wenn die defaultObjectCategory beim Erstellen einer Klasse nicht festgelegt ist, legt das System die Kategorie auf den Distinguished Name (DN) des classSchema-Objekts für diese Klasse fest. Wird dieses Objekt häufig vom Wert einer übergeordneten Klasse und nicht vom Wert der eigenen Klasse des Objekts abgefragt, dann können Sie defaultObjectCategory auf den DN der übergeordneten Klasse festlegen. Wenn Sie z. B. für eine vordefinierte Klasse (Kategorie 1) eine Unterklasse erstellen, empfiehlt es sich, defaultObjectCategory auf den Wert festzulegen, der auch für die übergeordnete Klasse festgelegt ist. Auf diese Weise kann die Standard-Benutzeroberfläche Ihre Unterklasse „suchen“. Weitere Informationen finden Sie unter Objektklasse und Objektkategorie. |
defaultHidingValue | Ein boolescher Wert, der die Standardeinstellung für die showInAdvancedViewOnly-Eigenschaft der neuen Instanzen dieser Klasse festlegt. Zahlreiche Verzeichnisobjekte sind für Endbenutzer*innen nicht interessant. Damit diese Objekte die Benutzeroberfläche nicht überladen, verfügt jedes Objekt über ein boolesches Attribut namens showInAdvancedViewOnly. Wenn defaultHidingValue auf TRUE festgelegt ist, werden neue Objektinstanzen in den administrativen Snap-Ins und der Windows-Shell ausgeblendet. Ein Menüelement für die Objektklasse wird nicht im New Kontextmenü der administrativen Snap-Ins angezeigt, selbst wenn die entsprechenden Eigenschaften des Erstellungs-Assistenten auf das displaySpecifier-Objekt der Objektklasse festgelegt sind. Wenn defaultHidingValue auf FALSE festgelegt ist, werden in den administrativen Snap-Ins und der Windows-Shell neue Instanzen des Objekts angezeigt. Legen Sie diese Eigenschaft auf FALSE fest, um Instanzen der Klasse in den administrativen Snap-ins und in der Shell anzuzeigen und um im New-Menü der administrativen Snap-ins einen Erstellungs-Assistenten und sein Menüelement zu aktivieren. Wenn der defaultHidingValue-Wert nicht festgelegt ist, gilt der Standardwert TRUE. |
systemFlags | Ein ganzzahliger Wert, der Flags enthält, die zusätzliche Eigenschaften der Klasse definieren. Der Wert 0x10 Bit identifiziert eine Klasse der Kategorie 1 (eine Klasse, die Teil des im System enthaltenen Basisschemas ist). Sie können dieses Bit nicht festlegen, was bedeutet, dass das Bit in Klassen der Kategorie 2 (Erweiterungen des Schemas) nicht festgelegt ist. |
systemOnly | Ein boolescher Wert, der festlegt, ob nur der Active Directory-Server die Klasse ändern kann. Nur vom System festgelegte Klassen können einzig und allein vom Verzeichnissystem-Agent (Directory System Agent, DSA) erstellt oder gelöscht werden. Bei nur vom System festgelegten Klassen handelt es sich um Klassen, von denen das System abhängt, um normale Vorgänge durchzuführen. |
defaultSecurityDescriptor | Legt die Standardsicherheitsbeschreibung für neue Objekte dieser Klasse fest. Weitere Informationen finden Sie unter Standardsicherheitsbeschreibung und Festlegen von Sicherheitsbeschreibungen für neue Verzeichnisobjekte. |
isDefunct | Ein boolescher Wert, der angibt, ob die Klasse veraltet ist. Weitere Informationen finden Sie unter Deaktivieren vorhandener Klassen und Attribute. |
Beschreibung | Eine Beschreibung der Klasse für die Verwendung durch administrative Anwendungen. |
objectClass | Identifiziert die Objektklasse, für die dieses Objekt die Instanz darstellt. Bei dieser Instanz handelt es sich um die classSchema-Objektklasse für alle Klassendefinitionen und um die attributeSchema-Objektklasse für alle Attributdefinitionen. |