Абстрактная схема

Контейнер схемы содержит все объекты classSchema и attributeSchema, определяющие классы и атрибуты, которые могут существовать в лесу каталогов. Контейнер схемы также содержит объект с именем Агрегат класса subSchema. Этот объект subSchema называется абстрактной схемой.

Абстрактная схема содержит подмножество данных, хранящихся в объектах classSchema и attributeSchema. Его целью является предоставление простого и эффективного механизма получения часто используемых элементов определений классов и атрибутов. Например, чтобы получить необязательные и обязательные атрибуты класса объектов, привязаться к нескольким объектам для сбора значений mayContain, mustContain, systemMayContain и systemMustContain из класса и всех его суперклассов, а также из любых вспомогательных классов класса и его суперклассов. Абстрактная схема удобно собирает все эти данные в одном объекте.

Как и любой объект в службах домен Active Directory, можно привязать к объекту subSchema и прочитать его атрибуты, проанализировав строковые значения для получения нужных данных. Однако ADSI предоставляет набор интерфейсов, упрощающих чтение абстрактной схемы. Дополнительные сведения см. в разделе "Чтение абстрактной схемы".

В следующей таблице перечислены ключевые атрибуты объекта subSchema .

Атрибут Description
attributeTypes Многозначный атрибут, содержащий строки, представляющие каждый атрибут в схеме. Каждое значение содержит атрибутID, lDAPDisplayName, attributeSyntax, rangeLower, rangeUpper и элемент, указывающий, может ли атрибут иметь несколько значений.
extendedAttributeInfo Многозначный атрибут, содержащий строки, представляющие дополнительные данные для каждого атрибута. Каждое значение содержит атрибутИД, lDAPDisplayName, schemaIDGUID и attributeSecurityGUID.
extendedClassInfo Многозначный атрибут, содержащий строки, представляющие дополнительные данные для каждого класса. Каждое значение содержит идентификатор управления, lDAPDisplayName и schemaIDGUID класса.
objectClasses Многозначный атрибут, содержащий строки, представляющие каждый класс в схеме. Каждое значение содержит идентификатор управления, lDAPDisplayName, mustContain, mayContain и т. д.