Error CONSTRAINT_ATT_TYPE al instalar Exchange 2010 o SP1 en Child Domain
por Daniel Seveso
Suponga que está intentando instalar Exchange 2010 o 2010 SP1 en un dominio hijo en el siguiente escenario: Dos dominios (root y child) y dos sitios de directorio activo (Redmond y LasColinas).
Problema
La instalación de alguno de los roles de Exchange 2010 falla con el siguiente error en el ExchangeSetup.log (ejemplo tratando de instalar el rol de Hub):
[02/20/2011 14:24:01.0700] [2] Active Directory session settings for 'Update-RmsSharedIdentity' are: View Entire Forest: 'True', Configuration Domain Controller: 'ChildDC1.child.contoso.com', Preferred Global Catalog: 'ChildDC1.child.contoso.com', Preferred Domain Controllers: '{ ChildDC1.child.contoso.com }' [02/20/2011 14:24:01.0700] [2] Beginning processing Update-RmsSharedIdentity -ServerName:'EX2K10-1' [02/20/2011 14:24:01.0794] [2] RMS Shared Identity user 'CN=FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042,CN=Users,DC=root,DC=contoso,DC=com' (originating server = 'ChildDC1.child.contoso.com') is being linked to computer 'CN=EX2K10-1,CN=Computers,DC=child,DC=contoso,DC=com' (originating server = 'ChildDC1.child.contoso.com'). [02/20/2011 14:24:01.0934] [2] [ERROR] Active Directory operation failed on DC1.root.contoso.com. This error is not retriable. Additional information: The name reference is invalid. This may be caused by replication latency between Active Directory domain controllers. Active directory response: 000020B5: AtrErr: DSID-03152395, #1: 0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 991c11f5 (msExchRMSComputerAccountsLink) [02/20/2011 14:24:01.0966] [2] [ERROR] A value in the request is invalid. [02/20/2011 14:24:01.0966] [2] Ending processing Update-RmsSharedIdentity [02/20/2011 14:24:01.0966] [1] The following 1 error(s) occurred during task execution: [02/20/2011 14:24:01.0966] [1] 0. ErrorRecord: Active Directory operation failed on DC1.root.contoso.com. This error is not retriable. Additional information: The name reference is invalid. This may be caused by replication latency between Active Directory domain controllers. Active directory response: 000020B5: AtrErr: DSID-03152395, #1: 0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 991c11f5 (msExchRMSComputerAccountsLink) [02/20/2011 14:24:01.0966] [1] 0. ErrorRecord: Microsoft.Exchange.Data.Directory.ADConstraintViolationException: Active Directory operation failed on DC1.root.contoso.com. This error is not retriable. Additional information: The name reference is invalid. This may be caused by replication latency between Active Directory domain controllers. Active directory response: 000020B5: AtrErr: DSID-03152395, #1: 0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 991c11f5 (msExchRMSComputerAccountsLink) ---> System.DirectoryServices.Protocols.DirectoryOperationException: A value in the request is invalid. at System.DirectoryServices.Protocols.LdapConnection.ConstructResponse(Int32 messageId, LdapOperation operation, ResultAll resultType, TimeSpan requestTimeOut, Boolean exceptionOnTimeOut) at System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request, TimeSpan requestTimeout) at Microsoft.Exchange.Data.Directory.PooledLdapConnection.SendRequest(DirectoryRequest request, LdapOperation ldapOperation, IAccountingObject budget, Nullable`1 clientSideSearchTimeout) at Microsoft.Exchange.Data.Directory.ADSession.ExecuteModificationRequest(ADObject entry, DirectoryRequest request, ADObjectId originalId, Boolean emptyObjectSessionOnException) --- End of inner exception stack trace --- at Microsoft.Exchange.Data.Directory.ADSession.AnalyzeDirectoryError(PooledLdapConnection connection, DirectoryRequest request, DirectoryException de, Int32 totalRetries, Int32 retriesOnServer) at Microsoft.Exchange.Data.Directory.ADSession.ExecuteModificationRequest(ADObject entry, DirectoryRequest request, ADObjectId originalId, Boolean emptyObjectSessionOnException) at Microsoft.Exchange.Data.Directory.ADSession.Save(ADObject instanceToSave, IEnumerable`1 properties) at Microsoft.Exchange.Management.Deployment.UpdateRmsSharedIdentity.Link() at Microsoft.Exchange.Management.Deployment.UpdateRmsSharedIdentity.InternalProcessRecord() at Microsoft.Exchange.Configuration.Tasks.Task.ProcessRecord() [02/20/2011 14:24:01.0966] [1] [ERROR] The following error was generated when "$error.Clear(); if ( ($server -eq $null) -and ($RoleIsDatacenter -ne $true) ) { Update-RmsSharedIdentity -ServerName $RoleNetBIOSName } " was run: "Active Directory operation failed on DC1.root.contoso.com. This error is not retriable. Additional information: The name reference is invalid. This may be caused by replication latency between Active Directory domain controllers. Active directory response: 000020B5: AtrErr: DSID-03152395, #1: 0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 991c11f5 (msExchRMSComputerAccountsLink) ". [02/20/2011 14:24:01.0966] [1] [ERROR] Active Directory operation failed on DC1.root.contoso.com. This error is not retriable. Additional information: The name reference is invalid. This may be caused by replication latency between Active Directory domain controllers. Active directory response: 000020B5: AtrErr: DSID-03152395, #1: 0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 991c11f5 (msExchRMSComputerAccountsLink) [02/20/2011 14:24:01.0966] [1] [ERROR] A value in the request is invalid. [02/20/2011 14:24:01.0966] [1] [ERROR-REFERENCE] Id=ProvisionServerComponent___cff4878349854618beeb2c9e17cc5214 Component=EXCHANGE14:\Current\Release\Shared\Datacenter\Setup [02/20/2011 14:24:01.0966] [1] Setup is stopping now because of one or more critical errors. [02/20/2011 14:24:01.0966] [1] Finished executing component tasks. [02/20/2011 14:24:01.0997] [1] Ending processing Install-BridgeheadRole [02/20/2011 14:24:01.0997] [0] The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder. [02/20/2011 14:24:02.0012] [0] End of Setup |
En este punto, el setup está ejecutando la tarea “Update-RmsSharedIdentity”, proceso que incluye la cuenta de máquina del nuevo servidor
'CN=EX2K10-1,CN=Computers,DC=child,DC=contoso,DC=com' en el atributo muilti-valor msExchRMSComputerAccountsLink del objeto 'CN=FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042,CN=Users,DC=root,DC=contoso,DC=com'.
El atributo msExchRMSComputerAccountsLink contiene una lista de las cuentas de máquina de cada servidor de Exchange en la organización.
“FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042” es un system mailbox usado como identidad compartida por Right Management Server en Exchange 2010 y su objeto existe solamente en el root domain. Esta cuenta es creada durante el proceso de /prepareAD del setup de Exchange. Al ser un system mailbox, puedes verlo desde Active Directory Users and Computers como una cuenta deshabilitada, y con herramientas de acceso al directorio como adsiedit o ldp, pero no podrás verlo desde el Exchange Management Console.
Causa
En este escenario, la operación falla porque el único domain controller del dominio root dentro del site LasColinas, es dc2.root.contoso.com, y el mismo *no* es un catálogo global (GC). La operación de actualización LDAP invocada por el setup de Exchange falla debido a que dc2.root.contoso.com, al no ser catálogo global y por tanto no tener una réplica local del dominio child, no puede resolver el guid de la cuenta del servidor Exchange.
Solución
Para solucionar este problema y ejecutar exitosamente la instalación de Exchange, puedes optar por uno de estos dos procedimientos:
- Promueve el controlador de dominio root dc2.root.contoso.com como catálogo global (GC) – Este es el método recomendado, ya que lo harás solo una vez.
ó
- Modifica el objeto FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 manualmente. Este paso debe realizarse luego de unir él servidor donde se instalará Exchange al dominio, y antes de ejecutar la instalación de Exchange.
Abre adsiedit.msc desde un controlador de dominio del root domain y localiza el objeto FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 bajo el contenedor “Users”
Abre las propiedades de FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 y selecciona el atributo msExchRMSComputerAccountsLink.
Click sobre “Edit” y escribe el distinguishedname de la cuenta de servidor correspondiente al servidor de Exchange que vamos a instalar en el campo “Value to add” . (En la lista de Values verás los servidores de Exchange ya instalados en la organización. En este caso este es el primer servidor de Exchange, por lo que la lista está vacía).
Luego selecciona “Add” y luego “OK”, “OK” nuevamente en las propiedades de FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042.
Esta falla de instalación de Exchange se considera no-reintentable, por lo que luego de ejecutar alguno de los métodos mencionados, deberás iniciar la instalación de Exchange nuevamente.