Atualizações e validação de esquema dinâmico no Exchange 2007 SP2

 

Aplica-se a: Exchange Server 2007 SP2

Tópico modificado em: 2012-03-26

O Active Directory Driver (Microsoft.Exchange.Data.Directory.Dll) do Exchange Server 2007 é a interface usada pelo código gerenciado do Exchange para acessar configurações no Active Directory. Os objetos dos contêineres do Active Directory expõem as propriedades derivadas diretamente dos atributos ou calculadas dos atributos. As propriedades expostas pelos objetos podem ser exportadas como parâmetros cmdlet.

Geralmente, as definições do Esquema do Active Directory são bastante estáticas. Quando é lançada uma atualização que inclua novos dados de configuração, o método atual é implementar essas configurações em um arquivo App.config (valores XML em um arquivo XML). Porém, esta abordagem é sujeita a erros e não aplica escala de forma eficiente.

O Active Directory Driver incluído no Microsoft Exchange Server 2007 Service Pack 2 (SP2) agora fornece suporte aos seguintes itens:

  • A adição de atributos que são independentes das alterações de esquema.

  • A capacidade de fazer referência a atributos que podem não existir no esquema. O driver também permite que o código gerenciado do Exchange funcione quando um novo atributo é lido e o esquema não é estendido. Nesse caso, quando um atributo não está definido no objeto ou não existe no esquema, o Active Directory Driver retornará o valor padrão. Por padrão, aos atributos adicionados que não existem no esquema serão fornecidos um valor padrão durante a operação de leitura.

  • Compatibilidade com o código do Microsoft Exchange Server 2010.

  • Antes do Exchange 2007 SP2, a gravação de um atributo que não existia no esquema causava uma violação de restrição. O Active Directory Driver fornecido com o Exchange 2007 SP2 introduz o código de validação dinâmica que executa uma validação adicional em novos atributos onde o esquema não pode conter o atributo como um valor.

    Ao tentar alterar um atributo que não exista no parâmetro mayContain, ocorre um erro de exceção. O Active Directory Driver atualizado fornece mais detalhes sobre o erro de exceção. Por exemplo:

    SchemaNotExtended(string objectClass, string objectAttribute, string udpateAdded)=Object class {0} não contém o atributo {1} como uma entrada mayContain válida. Você deve estender o esquema com atualizações de {2} para definir esse atributo.

    Onde 0 é a classe de objeto mais derivada, 1 é o nome de atributo LDAP que não existe. 2 é o nome de atualização não localizado em que o valor foi adicionado.