Impatto dei collegamenti residui sul processo di generazione della rubrica offline
Articolo originale pubblicato mercoledì 14 settembre 2011
In Exchange qualsiasi gruppo di distribuzione o gruppo di sicurezza abilitato alla posta elettronica contenente collegamenti residui influisce sul processo di generazione della rubrica offline impedendo una corretta esecuzione della replica. Nonostante questo problema sussista fin dall'introduzione di Active Directory con Windows 2000, è poco noto e ha effetto sull'esecuzione del processo di generazione della rubrica offline.
Esistono un paio di possibilità per risolvere il problema: eliminare e ricreare i gruppi interessati oppure ripetere l'hosting della partizione di Active Directory contenente i gruppi con collegamenti residui.
Cosa sono i collegamenti residui?
Chiariamo innanzitutto il concetto di "collegamento" in Active Directory:
Alcuni riferimenti tra oggetti in Active Directory richiedono backreference per motivi di usabilità o amministrazione. Supponiamo ad esempio che managedBy sia un attributo di un oggetto. Analizzando l'OggettoA è possibile appurare che è gestito dall'OggettoB. Analogamente, talvolta può essere utile analizzare l'OggettoB per appurare quali oggetti esso gestisce (ad esempio, i valori dell'attributo managedObjects). Active Directory mantiene l'integrità referenziale tra oggetti che fanno riferimento l'uno all'altro, in modo che quando un oggetto viene spostato nell'albero di directory, venga mantenuto il riferimento agli altri oggetti. Questo obiettivo viene raggiunto mediante l'utilizzo di attributi collegati.
Nello schema due attributi collegati sono contrassegnati da uno stesso identificatore formato da una coppia di collegamenti. Uno di essi è contrassegnato come collegamento in avanti e l'altro come collegamento a ritroso. Nella coppia di collegamenti managedBy/managedObjects, ad esempio, managedBy è il collegamento in avanti. Di conseguenza, per modificare l'attributo managedObjects per un oggetto utente, è necessario passare agli oggetti che si desidera aggiungere o rimuovere dal valore managedObjects dell'utente e modificare il valore managedBy per ognuno di essi. Gli attributi di collegamento a ritroso vengono calcolati quando richiesto da un'azione dell'utente.
Per individuare tutti gli oggetti gestiti dall'OggettoB, vengono esaminati i collegamenti per tutti i record in cui la coppia di collegamenti è managedBy/managedObjects e l'attributo di collegamento a ritroso identifica l'OggettoB. Le coppie di collegamenti di tali record forniscono gli identificatori di database di tutti i record (oggetti) gestiti dall'OggettoB.
L'appartenenza a una lista di distribuzione viene implementata come coppia di collegamenti in avanti e a ritroso. Gli oggetti con collegamento a ritroso sono quelli che archiviano l'attributo isMemberOfDl. L'attributo member di collegamento in avanti è un attributo multivalore, che consente di impostare un utente come membro di più liste di distribuzione. Il collegamento a ritroso deve sempre essere un collegamento multivalore perché non è possibile impostare limitazioni per gli utenti che creano collegamenti a vari oggetti.
Un collegamento residuo è un attributo con collegamento a ritroso contenente il nome distinto (DN, Distinguished Name) di un oggetto non più esistente in Active Directory. Questi problemi dipendono dalla mancata ricezione da parte dei server di catalogo globale e della partizione di sola lettura residente nei cataloghi globali di una replica affidabile dai controller di dominio scrivibili in domini che presentano un problema. Per questo motivo, in genere i cataloghi globali mantengono il valore del collegamento residuo interrotto anche se i controller di dominio scrivibili non riscontrano necessariamente il problema.
Sintomi del problema
Durante il processo di generazione della rubrica offline viene utilizzata una funzione QueryRows per la restituzione di valori di attributo da Active Directory. Se vengono restituiti dati non validi, è possibile che siano segnalati eventi di errore nel visualizzatore eventi applicazioni e che il processo OABGen non venga completato.
Eventi di errore associati al problema:
Origine dell'evento |
ID evento |
Stringa dell'evento |
MSExchangeSA |
9126 |
OALGen ha riscontrato l'errore 8004010e durante il calcolo dell'elenco indirizzi offline per l'elenco indirizzi '\Elenco indirizzi globale'. |
MSExchangeSA |
9330 |
OALGen ha riscontrato l'errore 8004010e (ID interno 500139c) durante l'accesso ad Active Directory ContosoHUB03 per '\Elenco indirizzi globale'. |
MSExchangeSA |
9339 |
Active Directory ‘ServerHub' ha restituito l'errore 8004010e durante la generazione dell'OAL per '\Elenco indirizzi globale'. L'ultimo destinatario restituito da Active Directory era 'NomeUtente'. L'elenco indirizzi offline non verrà generato. |
Per ulteriori informazioni sull'impatto dei collegamenti residui in Exchange, è possibile leggere un articolo della Knowledge Base pubblicato di recente da Justin Turner:
Errori di generazione della rubrica offline di Exchange causati da attributi contenenti dati non aggiornati o non validi: eventi 9126 9330 e 9339 con errore 8004010e
https://support.microsoft.com/kb/2553698
Risoluzione dei problemi
I tecnici addetti ad Active Directory eliminano periodicamente gli oggetti residui con un processo relativamente semplice che prevede l'utilizzo dello strumento della riga di comando repadmin. Microsoft ADRAP (AD Risk Assessment Program), un servizio riservato ai clienti Premier, segnala la presenza di oggetti residui nell'ambiente di Active Directory. Per quanto l'eliminazione degli oggetti residui sia un processo noto, l'identificazione dei collegamenti residui sul lato di Active Directory non è facile. È tuttavia disponibile uno strumento di Exchange in grado di identificare tali collegamenti denominato oabvalidate.exe (https://oabvalidate.codeplex.com/). L'autore, Bill Long, aggiorna attivamente questo strumento in Codeplex. Lo strumento OABValidate è di dimensioni contenute (meno di 800 KB) e viene eseguito su un controller di dominio specificato. Al termine dell'esecuzione, che richiede un tempo variabile in base al numero di oggetti presenti nell'ambiente di Active Directory ma non eccessivamente lungo, viene visualizzato un elenco di tutti i gruppi contenenti collegamenti residui che è necessario gestire.
Se dopo l'installazione e l'esecuzione di Exchange sono presenti collegamenti residui nell'ambiente, verranno visualizzati errori di generazione della rubrica offline, il che potrebbe significare che è essere necessario gestire collegamenti residui.
Mike O’Neill
Questo è un post di blog localizzato. L'articolo originale è disponibile in How Lingering Links can impact OAB generation process...