Mises à jour et validation dynamiques du schéma dans Exchange 2007 SP2

 

S’applique à : Exchange Server 2007 SP2

Dernière rubrique modifiée : 2012-03-26

Le pilote Active Directory (Microsoft.Exchange.Data.Directory.Dll) dans Exchange Server 2007 est l'interface utilisée par le code managé d'Exchange pour accéder à la configuration dans Active Directory. Les objets des conteneurs Active Directory exposent des propriétés directement dérivées d'attributs ou calculées à partir d'attributs. Les propriétés exposées par les objets peuvent être exportées en tant que paramètres de cmdlet.

En général, les définitions du schéma Active Directory sont relativement statiques. À la publication d'une mise à jour incluant de nouvelles données de configuration, la méthode actuelle consiste à implémenter ces paramètres dans un fichier App.config (valeurs XML dans un fichier XML). Cette approche génère souvent des erreurs et est difficilement adaptée.

Désormais, le pilote Active Directory intégré à Microsoft Exchange Server 2007 Service Pack 2 (SP2) prend en charge les aspects suivants :

  • Ajout d'attributs indépendants des modifications du schéma.

  • Capacité de référencement des attributs qui n'existent pas dans le schéma. Le pilote permet également au code managé d'Exchange de fonctionner lorsqu'un nouvel attribut est lu et que le schéma n'est pas étendu. Dans ce cas, lorsqu'un attribut n'est pas défini sur l'objet ou n'existe pas dans le schéma, le pilote Active Directory revient à la valeur par défaut. Une valeur par défaut est attribuée aux attributs ajoutés qui n'existent pas dans le schéma durant une opération de lecture.

  • Compatibilité avec le code de Microsoft Exchange Server 2010.

  • Avant Exchange 2007 SP2, écrire à un attribut qui n'existait pas dans le schéma provoquait une violation de contrainte. Le pilote Active Directory intégré à Exchange 2007 SP2 introduit un code de validation dynamique qui exécute une validation supplémentaire sur les nouveaux attributs lorsque le schéma ne contient pas l'attribut en tant que valeur.

    Lorsque vous essayez de modifier un attribut qui n'existe pas dans le paramètre mayContain, il se produit une erreur d'exception. Le pilote Active Directory mis à jour fournit davantage d'informations sur l'erreur d'exception. Par exemple :

    SchemaNotExtended(string objectClass, string objectAttribute, string udpateAdded)=La classe d'objets {0} ne contient pas l'attribut {1} en tant qu'entrée mayContain valide. Vous devez étendre le schéma par des mises à jour de {2} pour définir cet attribut.

    0 correspond à la classe d'objets la plus dérivée, 1 au nom de l'attribut LDAP qui n'existe pas et 2 au nom de la mise à jour non localisée dans laquelle la valeur a été ajoutée.