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).

image

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:

  1. 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.
    1. Desde “Active Directory Sites and Services” expande el site local / Servers / dc2 y obtiene las propiedades del objeto “NTDS Settings”
    2. Selecciona “Global Catalog” y luego click en OK.
      image
    3. Deja transcurrir un tiempo para asgurar que la partición del dominio child se replique a dc2

ó

  1. 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.
    1. 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”
      image

    2. Abre las propiedades de FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 y selecciona el atributo msExchRMSComputerAccountsLink.

      image

    3. 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).

      image

    4. 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.

Artículos relacionados

  • 978776 When you try to install the Exchange Server 2010 Mailbox role, the installation process fails
  • 977960    You cannot create a new Exchange Server 2010 Mailbox database in a multiple domain environment