Драйвер Active Directory (Microsoft.Exchange.Data.Directory.Dll) в Exchange Server 2007 представляет собой интерфейс, используемый управляемым кодом Exchange для доступа к конфигурации в Active Directory. Объекты в контейнерах Active Directory отображают свойства, производные непосредственно от атрибутов или вычисляемые с использованием атрибутов. Свойства, предоставляемые объектами, можно экспортировать в качестве параметров командлета.
Обычно определения схемы Active Directory достаточно статичны. Когда выпускается обновление, содержащее новые данные конфигурации, в настоящее время эти параметры реализованы в файле App.config (XML-значения в XML-файле). Однако такой подход уязвим для ошибок и не обеспечивает эффективного масштабирования.
Драйвер Active Directory, входящий в Microsoft Exchange Server 2007 с пакетом обновления 2 (SP2), теперь поддерживает перечисленные ниже возможности.
- Добавление атрибутов, не зависящих от изменения схемы.
- Возможность обращаться к атрибутам, которые могут не
существовать в схеме. Драйвер также позволяет управляемому коду
Exchange работать, когда новый атрибут прочитан, и схема не
расширена. В этом случае, когда атрибут не установлен в объекте или
не существует в схеме, драйвер Active Directory вернет
значение по умолчанию. По умолчанию добавляемым атрибутам, которые
не существуют в схеме, в ходе операции считывания будет присвоено
значение по умолчанию.
- Совместимость с кодом Microsoft
Exchange Server 2010.
- До версии Exchange 2007 с пакетом обновления 2 (SP2)
запись в атрибут, не существующий в схеме, приводила к нарушению
ограничений. Драйвер Active Directory, входящий в
Exchange 2007 с пакетом обновления 2 (SP2), содержит код
динамической проверки, который выполняет дополнительную проверку
новых атрибутов, когда схема может не содержать атрибут в качестве
значения.
При попытке изменить атрибут, не существующий в параметре mayContain, возникает исключение. Обновленный драйвер Active Directory предоставляет дополнительные сведения об исключении. Например:
SchemaNotExtended(string objectClass, string objectAttribute, string udpateAdded)=Object класс {0} не содержит атрибут {1} в качестве допустимой записи mayContain. Для установки этого атрибута необходимо расширить схему обновлениями из {2}.
Где 0 — наиболее наследованный класс объекта, 1 — имя несуществующего атрибута LDAP. 2 — нелокализованное имя обновления, в которое добавлено значение.