Actualizaciones y validación de esquemas dinámicos en Exchange 2007 SP2

 

Se aplica a: Exchange Server 2007 SP2

Última modificación del tema: 2012-03-26

El controlador de Active Directory (Microsoft.Exchange.Data.Directory.Dll) de Exchange Server 2007 es la interfaz que utiliza el código administrado de Exchange para obtener acceso a la configuración en Active Directory. Los objetos de los contenedores de Active Directory muestran propiedades que se derivan directamente de los atributos o se calculan a partir de los atributos. Las propiedades que se muestran mediante objetos se pueden exportar como parámetros de cmdlet.

Generalmente, las definiciones del esquema de Active Directory son bastante estáticas. Cuando se emite una actualización que incluye nuevos datos de configuración, el método actual consiste en implementar esta configuración en el archivo App.config (valores XML en un archivo XML). Pero este enfoque es propenso a errores y no se escala con eficacia.

Ahora, el controlador de Active Directory que se incluye con Microsoft Exchange Server 2007 Service Pack 2 (SP2) admite lo siguiente:

  • La adición de atributos independientes de los cambios de esquema.

  • La capacidad para hacer referencia a atributos que es posible que no existan en el esquema. El controlador también permite que el código administrado de Exchange funcione cuando se lee un nuevo atributo y el esquema no está extendido. En este caso, si no se ha definido un atributo del objeto o no existe en el esquema, el controlador de Active Directory devolverá el valor predeterminado. De forma predeterminada, los atributos que se agregan y no existen en el esquema proporcionarán un valor predeterminado durante una operación de lectura.

  • Compatibilidad con el código de Microsoft Exchange Server 2010. 

  • Antes de Exchange 2007 SP2, al escribir en un atributo que no existía en el esquema se producía una infracción de restricción. El controlador de Active Directory que se incluye con Exchange 2007 SP2 introduce código de validación dinámico que realiza validación adicional en los nuevos atributos cuando es posible que el esquema no contenga el atributo como un valor.

    Si intenta modificar un atributo que no existe en el parámetro mayContain, se producirá un error de excepción. El controlador actualizado de Active Directory proporciona más detalles acerca del error de excepción. Por ejemplo:

    SchemaNotExtended(string objectClass, string objectAttribute, string udpateAdded)=la clase de objeto {0} no contiene el atributo {1} como una entrada mayContain válida. Debe extender el esquema con actualizaciones de {2} para configurar este atributo.

    Donde 0 es la clase de objeto más derivada, 1 es el nombre del atributo LDAP que no existe. 2 es el nombre de la actualización no localizada a la que se agregó el valor.