Cómo afectan los vínculos persistentes al proceso de generación OAB
Artículo original publicado el miércoles 14 de septiembre de 2011
En Exchange, cualquier grupo de distribución o grupo de seguridad con correo electrónico habilitado que contiene vínculos persistentes afecta al proceso de generación OAB (libreta de direcciones sin conexión) provocando que no se replique correctamente. Si bien este problema existe desde que AD empezó con Windows 2000, es un problema bastante desconocido y está relacionado con la manera en que funciona el proceso de generación OAB (libreta de direcciones sin conexión).
Hay un par de opciones para corregir este problema. Deberá suprimir y volver a crear los grupos afectados o bien volver a hospedar la partición de Active Directory que contiene los grupos con vínculos persistentes.
¿Qué son los vínculos persistentes?
En este punto es útil explicar qué es un "vínculo" en Active Directory:
Algunas referencias entre objetos en Active Directory requieren referencias inversas a efectos administrativos o de facilidad de uso. Por ejemplo, si managedBy es un atributo de objeto, puede ver el ObjetoA y determinar que el ObjetoA está administrado por el ObjetoB. Del mismo modo, a veces es útil ver el ObjetoB y determinar qué administra (los valores del atributo managedObjects, por ejemplo). Active Directory mantiene la integridad referencial entre objetos que se hacen referencia entre sí de modo que cuando se mueve un objeto en el árbol de directorios, la referencia entre este y otros objetos se mantiene. Esta referencia se lleva a cabo a través de atributos vinculados.
Dos atributos que están vinculados están marcados en el esquema como que tienen el mismo identificador de par de vínculos; uno está marcado como el vínculo hacia delante y la otra es el vínculo hacia atrás. Por ejemplo, en el par de vínculos managedBy / managedObjects, managedBy es el vínculo hacia delante. Por lo tanto, para ajustar el atributo managedObjects en un objeto de usuario, debe ir a los objetos que desea agregar o suprimir del valor managedObjects del usuario y modificar el valor managedBy en cada objeto. Los atributos del vínculo hacia atrás se procesan cuando lo solicita una acción del usuario.
Para encontrar todos los objetos que administra el ObjetoB, se examinan los registros de los vínculos en que el par de vínculos es managedBy / managedObjects y el atributo del vínculo hacia atrás identifica el ObjetoB. Los pares de vínculos de estos registros proporcionan los identificadores de base de datos de todos los registros (objetos) que son administrados por el ObjetoB.
Los integrantes de la lista de distribución se implementan como par de vínculos hacia delante y como par de vínculos hacia atrás. Los objetos del vínculo hacia atrás serían los objetos que almacenan el atributo isMemberOfDl. El atributo member del vínculo hacia delante es un atributo multivalor, que permite a un usuario ser miembro de más de una lista de distribución. El vínculo hacia atrás siempre debe ser un vínculo multivalor porque es imposible restringir quién crea vínculos a varios objetos.
Un vínculo persistente es un atributo vinculado hacia atrás que contiene el DN (nombre distinguido) de un objeto que ya no existe en Active Directory. Estos problemas proceden de servidores del catálogo global (y la partición de solo lectura que reside en GC) que no reciben replicación de sonido de controladores de dominio grabables de los dominios que tienen un problema. Esta es la razón por la cual los GC normalmente retienen el valor del vínculo persistente que está roto y los controladores de dominio grabables no experimentan necesariamente el problema.
Síntomas del problema
EL proceso de generación OAB usa una función QueryRows para devolver valores de atributos de Active Directory. Si se devuelven datos no válidos, puede haber eventos de error en el visor de eventos de aplicaciones y no se completará el proceso de generación OAB.
Eventos de error asociados con este problema:
Origen de evento |
Id. de evento |
Cadena de evento |
MSExchangeSA |
9126 |
OALGen encontró el error 8004010e al calcular la lista de direcciones sin conexión para la lista de direcciones '\Lista de direcciones global'. |
MSExchangeSA |
9330 |
OALGen encontró el error 8004010e (Id. interno 500139c) al obtener acceso a ContosoHUB03 de Active Directory para '\Lista de direcciones global'. |
MSExchangeSA |
9339 |
El ‘Servidor concentrador' de Active Directory devolvió el error 8004010e al generar la lista de direcciones sin conexión para '\Lista de direcciones global'. El último destinatario devuelto por Active Directory fue 'NombreDeUsuario'. No se creará esta lista de direcciones sin conexión. |
Ahora hay disponible un artículo KB publicado recientemente y escrito por Justin Turner para obtener información detallada sobre cómo aplicar vínculos persistentes en Exchange:
Errores de generación de la libreta de direcciones sin conexión (OAB) de Exchange causados por atributos que contienen datos antiguos o no válidos: eventos 9126 9330 y 9339 con error 8004010e citados
https://support.microsoft.com/kb/2553698
Solución de problemas
A nivel interno, los ingenieros de Active Directory limpian periódicamente objetos persistentes usando la herramienta de línea de comandos repadmin, que es un proceso bastante fácil. El ADRAP de Microsoft (Programa de evaluación de riesgos de AD, un servicio para nuestros clientes Premier) le informa si tiene objetos persistentes en su entorno de Active Directory. Si bien la limpieza de objetos persistentes es un proceso bastante bien conocido, los vínculos persistentes no son identificados fácilmente desde AD. Sin embargo, hay una herramienta de Exchange que puede identificar vínculos persistentes: oabvalidate.exe https://oabvalidate.codeplex.com/. El autor de la herramienta (Bill Long) actualiza de manera activa la herramienta en Codeplex. La herramienta de OABValidate es pequeña (menos de 800 kb) y se ejecuta en un DC específico, normalmente no tarda mucho tiempo en ejecutarse (en función del número de objetos de su entorno de AD) y proporciona una lista de grupos que contienen vínculos persistentes que deben tratarse.
¿Qué ocurre después de instalar y ejecutar Exchange si tiene vínculos persistentes introducidos en su entorno? Obtendrá errores de generación OAB que podrían indicar que tiene vínculos persistentes que necesitan tratarse.
Mike O’Neill
Esta es una entrada de blog localizada. Puede encontrar el artículo original en How Lingering Links can impact OAB generation process...