Aggiornamenti e convalida dello schema dinamico in Exchange 2007 SP2

 

Si applica a: Exchange Server 2007 SP2

Ultima modifica dell'argomento: 2012-03-26

Il driver Active Directory (Microsoft.Exchange.Data.Directory.Dll) in Exchange Server 2007 è l'interfaccia utilizzata dal codice gestito da Exchange per accedere alla configurazione in Active Directory. Gli oggetti nei contenitori Active Directory espongono le proprietà derivate direttamente dagli attributi o calcolate dagli attributi. Le proprietà esposte dagli oggetti possono essere esportate come parametri cmdlet.

Solitamente le definizioni dello schema Active Directory sono abbastanza statiche. Quando viene emesso un aggiornamento che include i dati della nuova configurazione, il metodo corrente consiste nell'implementare queste impostazioni in un file App.config (valori XML in un file XML). Ma questo approccio è predisposto a errore e non scala in modo efficiente.

Il driver Active Directory incluso con Microsoft Exchange Server 2007 Service Pack 2 (SP2) supporta ora quanto segue:

  • L'aggiunta di attributi che sono indipendenti dalla modifica dello schema.

  • La capacità di creare un riferimento per gli attributi che non esistono nello schema. Il driver consente inoltre il funzionamento del codice gestito da Exchange quando un nuovo attributo viene letto e lo schema non viene esteso. In questo caso, quando un attributo non viene impostato per l'oggetto o non esiste nello schema, per il driver Active Directory viene ripristinato il valore predefinito. Per impostazione predefinita, agli attributi che vengono aggiunti, ma che non esistono nello schema, viene fornito un valore predefinito durante una lettura.

  • Compatibilità con il codice Microsoft Exchange Server 2010. 

  • Prima di Exchange 2007 SP2, la scrittura in un attributo che non esisteva nello schema causava la violazione di un limite. Il driver Active Directory incluso con Exchange 2007 SP2 introduce un codice di convalida dinamico che esegue un'ulteriore convalida dei nuovi attributi dove lo schema non contiene l'attributo come valore.

    Quando si prova a modificare un attributo che non esiste nel parametro mayContain, si verifica un'eccezione. Il driver Active Directory aggiornato fornisce ulteriori dettagli sull'eccezione. Ad esempio:

    La classe SchemaNotExtended(string objectClass, string objectAttribute, string udpateAdded)=Object {0} non contiene l'attributo {1} come una voce mayContain valida. È necessario estendere lo schema in base agli aggiornamenti di {2} per impostare questo attributo.

    Se 0 è la classe di oggetti più derivati, 1 è il nome dell'attributo LDAP che non esiste. 2 è il nome dell'aggiornamento non localizzato dove è stato aggiunto il valore.