Compartir vía


Microsoft Entra Connect: almacenamiento provisional y recuperación ante desastres

Con un servidor en modo provisional puede realizar cambios en la configuración y obtener una vista previa de los cambios antes de activar el servidor. También permite ejecutar una importación y sincronización completas para comprobar que se esperan todos los cambios antes de realizarlos en el entorno de producción.

Modo provisional

Se puede usar el modo provisional para distintos escenarios como:

  • Alta disponibilidad.
  • Prueba e implementación de nuevos cambios de configuración.
  • Introducción de un nuevo servidor y baja del antiguo.

Durante la instalación puede seleccionar que el servidor esté en modo provisional. Esta acción hace que el servidor esté activo para la importación y la sincronización, pero no ejecuta ninguna exportación. Un servidor en modo de almacenamiento provisional no ejecuta la sincronización de contraseñas ni la escritura diferida de contraseñas, aunque haya seleccionado estas características durante la instalación. Cuando se deshabilita el modo provisional, el servidor iniciará la exportación, y habilitará la sincronización de contraseñas y la escritura diferida de contraseñas.

Nota:

Suponga que tiene una instancia de Microsoft Entra Connect con la característica de sincronización de hash de contraseña habilitada. Cuando se habilita el modo de almacenamiento provisional, el servidor deja de sincronizar los cambios de contraseña desde AD local. Cuando se deshabilita el modo de almacenamiento provisional, el servidor reanuda la sincronización de los cambios de contraseña desde AD local. Si el servidor se mantiene en modo de almacenamiento provisional durante un largo período de tiempo, el servidor puede tardar unos minutos en sincronizar todos los cambios de contraseña que se hubieran producido durante ese período de tiempo.

Todavía puede forzar una exportación mediante el administrador del servicio de sincronización.

Un servidor en modo de almacenamiento provisional sigue recibiendo cambios de Active Directory y Microsoft Entra ID, y puede asumir rápidamente las responsabilidades de otro servidor en caso de que se produzca un error. Si realiza cambios de configuración en el servidor principal, es su responsabilidad realizar los mismos cambios en el servidor en modo de almacenamiento provisional.

Para aquellos con conocimientos de tecnologías de sincronización anteriores, el modo provisional es diferente, ya que el servidor tiene su propia base de datos SQL. Esta arquitectura permite que el servidor en modo provisional se encuentre en otro centro de datos.

Comprobación de la configuración de un servidor

Para aplicar este método, siga estos pasos:

  1. Preparación
  2. Configuración
  3. Importación y sincronización
  4. Verify
  5. Cambio de servidor activo

Preparación

  1. Instale Microsoft Entra Connect, seleccione el modo provisional y anule la selección de Iniciar la sincronización en la última página del asistente para instalación. Esto permitirá ejecutar el motor de sincronización de forma manual. Captura de pantalla que muestra la página Listo para configurar en el cuadro de diálogo de Microsoft Entra Connect.
  2. Cierre o inicie la sesión y, en el menú de inicio, seleccione Servicio de sincronización.

Configuración

Si realizó cambios personalizados en el servidor principal y desea comparar la configuración con el servidor de ensayo, use Documentador de Configuración de Microsoft Entra Connect.

Importación y sincronización

  1. Seleccione Conectores y elija el primer conector de tipo Active Directory Domain Services. Seleccione Ejecutar, seleccione Importación completa, y Aceptar. Realice estos pasos para todos los conectores de este tipo.
  2. Seleccione el conector con el tipo Microsoft Entra ID (Microsoft). Seleccione Ejecutar y, a continuación, Importación completa y Aceptar.
  3. Asegúrese de que sigue seleccionada la pestaña Conectores. Para cada conector de tipo Active Directory Domain Services, seleccione Ejecutar y, a continuación, Sincronización diferencial y Aceptar.
  4. Seleccione el conector con el tipo Microsoft Entra ID (Microsoft). Seleccione Ejecutar y, a continuación, Sincronización diferencialy Aceptar.

Ya ha realizado una copia intermedia de los cambios de exportación en Microsoft Entra ID y AD local (si utiliza la implementación híbrida de Exchange). Los siguientes pasos le permiten inspeccionar lo que está a punto de cambiar antes de que comience realmente la exportación a los directorios.

Verify

  1. Inicie un símbolo del sistema y vaya a %ProgramFiles%\Microsoft Azure AD Sync\bin.
  2. Ejecutar: csexport "Name of Connector" %temp%\export.xml /f:x El nombre del conector puede encontrarse en el Servicio de sincronización. Tiene un nombre similar a "contoso.com – Microsoft Entra ID" para Id. de Microsoft Entra.
  3. Ejecutar: CSExportAnalyzer %temp%\export.xml > %temp%\export.csv Tiene un archivo en %temp% denominado export.csv que se puede examinar en Microsoft Excel. Este archivo contiene todos los cambios que se van a exportar.
  4. Realice los cambios necesarios en los datos o la configuración y vuelva a ejecutar estos pasos, Importar y sincronizar y comprobar, hasta que se esperen los cambios exportados.

Descripción del archivo export.csv

La mayor parte del archivo se explica por sí solo. Algunas abreviaturas para comprender el contenido:

  • OMODT: tipo de modificación de objeto. Indica si la operación en un nivel de objeto es Agregar, Actualizar o Eliminar.
  • AMODT: tipo de modificación de atributo. Indica si la operación en un nivel de atributo es Agregar, Actualizar o Eliminar.

Recuperación de identificadores comunes

El archivo export.csv contiene todos los cambios que se van a exportar. Cada fila corresponde a un cambio de un objeto en el espacio del conector y el objeto se identifica mediante el atributo DN. El atributo DN es un identificador único asignado a un objeto en el espacio del conector. Cuando haya muchas filas o cambios en el archivo export.csv que analizar, puede ser difícil averiguar para qué objetos son los cambios con solo el atributo DN. Para simplificar el proceso de análisis de los cambios, use el script de PowerShell csanalyzer.ps1. El script recupera los identificadores comunes (por ejemplo, displayName o userPrincipalName) de los objetos. Para usar el script:

  1. Copie el script de PowerShell de la sección CSAnalyzer en un archivo denominado "csanalyzer.ps1".
  2. Abra una ventana de PowerShell y vaya a la carpeta donde se creó el script de PowerShell.
  3. Ejecute .\csanalyzer.ps1 -xmltoimport %temp%\export.xml.
  4. Ahora tiene un archivo denominado "processedusers1.csv" que se puede examinar en Microsoft Excel. Tenga en cuenta que el archivo proporciona una asignación del atributo DN a identificadores comunes (por ejemplo, displayName y userPrincipalName). Actualmente no incluye los cambios de atributo reales que se van a exportar.

Cambio de servidor activo

Microsoft Entra Connect se puede configurar en un entorno de alta disponibilidad Active-Passive. En esta configuración, un servidor inserta activamente los cambios en los objetos de AD sincronizados en el identificador de Microsoft Entra y el servidor pasivo almacena provisionalmente estos cambios en caso de que tenga que asumir el control.

Nota:

No se puede configurar Microsoft Entra Connect en una configuración activa-activa. Debe ser activa-pasiva. Asegúrese de que solo 1 servidor de Microsoft Entra Connect está sincronizando activamente los cambios.

Para más información sobre cómo configurar un servidor de sincronización de Microsoft Entra Connect en modo provisional, consulte modo provisional.

Es posible que tenga que realizar una conmutación por error de los servidores de sincronización por varios motivos, como actualizar la versión de Microsoft Entra Connect o recibir una alerta de que el servicio de mantenimiento del servicio de sincronización no recibe información actualizada. En estos casos, puede intentar una conmutación por error de los servidores de sincronización siguiendo los pasos siguientes.

Importante

Cambiar un servidor de almacenamiento provisional al modo activo puede tener un impacto grave en la sincronización si no se cumplen las siguientes condiciones. Como precaución, ejecute siempre un ciclo de sincronización inicial y compruebe las exportaciones pendientes antes de realizar esta operación.

Requisitos previos

  • Un servidor de sincronización de Microsoft Entra Connect actualmente activo
  • Un almacenamiento provisional de Microsoft Entra Connect Sync Server
  • El servidor de almacenamiento provisional tiene habilitado el programador de sincronización y se ha sincronizado recientemente con Microsoft Entra ID
  • En el caso de las actualizaciones en las reglas de sincronización o en el ámbito de sincronización, ejecute un ciclo de sincronización inicial
  • Confirme que el servidor de sincronización de Microsoft Entra Connect está configurado para evitar eliminaciones accidentales
  • Compruebe las exportaciones pendientes y confirme que no hay actualizaciones significativas y que estas actualizaciones se esperan
  • Compruebe si el agente de Microsoft Entra Connect Health se actualiza comprobando el servidor en el portal de Microsoft Entra Connect Health
  • Cambie el servidor activo actual al modo de almacenamiento provisional antes de cambiar el servidor de almacenamiento provisional a activo

Cambiar el servidor de sincronización activa actual a modo provisional

Hay que asegurarse de que solo un servidor de sincronización está sincronizando los cambios en un momento dado a lo largo de este proceso. Si el servidor de sincronización activo actualmente es accesible, puede realizar los pasos siguientes para moverlo al modo de almacenamiento provisional. Si no es accesible, asegúrese de que el servidor o la máquina virtual no recuperen el acceso de forma inesperada al apagar el servidor o aislarlo de las conexiones salientes.

  1. Para el servidor de Microsoft Entra Connect activo actualmente, abra el Asistente de Microsoft Entra Connect y seleccione "Configurar modo de ensayo" y, a continuación, Siguiente:

Captura de pantalla que muestra el modo provisional resaltado en el cuadro de diálogo en Active Microsoft Entra Connect.

  1. Debe iniciar sesión en Microsoft Entra ID con credenciales de administrador de identidades híbridas:

Captura de pantalla que muestra el mensaje de inicio de sesión en el cuadro de diálogo en Active Microsoft Entra Connect.

  1. Marque la casilla modo de ensayo y seleccione Siguiente:

Captura de pantalla que muestra la configuración del modo provisional en el cuadro de diálogo en Active Microsoft Entra Connect.

  1. El servidor de Microsoft Entra Connect comprobará si hay componentes instalados y luego te preguntará si quieres iniciar el proceso de sincronización cuando se complete el cambio de configuración:

Captura de pantalla que muestra la pantalla Listo para configurar en Active Microsoft Entra Connect.

Dado que el servidor estará en modo de almacenamiento provisional, no escribirá cambios en Microsoft Entra ID, sino que conservará los cambios en AD en su espacio conector, listo para escribirlos. Se recomienda dejar el proceso de sincronización activado para el servidor en modo de prueba, de modo que si este se activa, tomará el control rápidamente y no tendrá que realizar una sincronización grande para ponerse al día con el estado actual de los objetos de Active Directory o Microsoft Entra dentro del ámbito.

  1. Después de seleccionar para iniciar el proceso de sincronización y seleccionar Configurar, el servidor microsoft Entra Connect se configura en modo de ensayo. Una vez completado, una pantalla le pide que confirme que el modo de ensayo está habilitado. Puede seleccionar Salir para finalizar.

  2. Para confirmar que el servidor está correctamente en modo provisional, abra Windows PowerShell, cargue el módulo "ADSync" y compruebe la configuración del Programador de ADSync mediante los siguientes comandos:

Import-Module ADSync
Get-ADSyncScheduler

En los resultados, compruebe el valor de la configuración "StagingModeEnabled". Si el servidor se cambió correctamente al modo de almacenamiento provisional, el valor de esta configuración debe ser True como en el ejemplo siguiente:

Captura de pantalla que muestra la consola del servicio de sincronización en el cuadro de diálogo en Active Microsoft Entra Connect.

Cambio del servidor de sincronización provisional actual a modo activo

En este punto, todos nuestros servidores de sincronización de Microsoft Entra Connect deben estar en modo provisional y no exportar cambios. Ahora podemos mover nuestro servidor de sincronización provisional a modo activo y sincronizar activamente los cambios.

  1. Ahora vaya al servidor de Microsoft Entra Connect que estaba originalmente en modo provisional y abra el asistente de Microsoft Entra Connect.

Seleccione "Configurar el modo de ensayo" y seleccione Siguiente:

Captura de pantalla que muestra el modo provisional resaltado en el cuadro de diálogo en Staging Microsoft Entra Connect.

El mensaje situado en la parte inferior del asistente indica que este servidor está en modo provisional.

  1. Inicie sesión en Microsoft Entra ID y, a continuación, vaya a la pantalla Modo provisional.

Desactive la casilla modo de ensayo y seleccione Siguiente.

Captura de pantalla que muestra la configuración del modo provisional en el cuadro de diálogo en Staging Microsoft Entra Connect.

Según la advertencia de esta página, es importante asegurarse de que ningún otro servidor de Microsoft Entra Connect se está sincronizando activamente.

Solo debe haber un servidor de sincronización de Microsoft Entra Connect activo en cualquier momento.

  1. Cuando se le pida que inicie el proceso de sincronización, marque esta casilla y seleccione Configurar:

Captura de pantalla que muestra la pantalla Listo para configurar en Staging Microsoft Entra Connect.

  1. Una vez finalizado el proceso, debería obtener la siguiente pantalla de confirmación donde puede seleccionar Salir para finalizar:

Captura de pantalla que muestra la pantalla de confirmación en Staging Microsoft Entra Connect.

  1. Puedes confirmar que este proceso funciona abriendo la consola del servicio de sincronización y comprobando si se están ejecutando los trabajos de exportación:

Captura de pantalla que muestra la consola del servicio de sincronización en el cuadro de diálogo en Staging Microsoft Entra Connect.

Recuperación ante desastres

Planificar qué hacer en caso de que se produzca un desastre y se pierda el servidor de sincronización forma parte del diseño de la implementación. Hay diferentes modelos de uso y cuál es el que se debe usar dependerá de varios factores como los siguientes:

  • ¿Cuál es su grado de tolerancia por no ser capaz de realizar cambios en objetos en Microsoft Entra ID durante el tiempo de inactividad?
  • Si usa la sincronización de contraseñas, ¿aceptarán los usuarios que tienen que usar la antigua contraseña en Microsoft Entra ID en caso de que la cambien de forma local?
  • ¿Tiene una dependencia en operaciones en tiempo real, como la escritura diferida de contraseñas?

En función de las respuestas a estas preguntas y de la directiva de su organización, puede implementar una de las estrategias siguientes:

  • Recompilación si es necesario.
  • Servidor en espera de reserva, conocido como modo provisional.
  • Uso de máquinas virtuales.

Si no utilizas la base de datos de SQL Express integrada, también debes revisar la sección sobre alta disponibilidad de SQL.

Recompilación si es necesario

Una estrategia viable es planear una recompilación del servidor si es necesario. Normalmente, la instalación del motor de sincronización y la realización de la importación y sincronización iniciales se pueden completar en unas pocas horas. Si no hay un servidor de reserva disponible, es posible usar temporalmente un controlador de dominio para hospedar el motor de sincronización.

El servidor del motor de sincronización no almacena ningún estado acerca de los objetos, por lo que se puede recompilar la base de datos a partir de los datos de Active Directory y Microsoft Entra ID. El atributo sourceAnchor se usa para unir los objetos de local y de la nube. Si recompila el servidor con objetos existentes locales y en la nube, el motor de sincronización los hará coincidir de nuevo en la reinstalación. Las acciones que necesita documentar y guardar son los cambios de configuración realizados en el servidor, como reglas de filtrado y de sincronización. Estas configuraciones personalizadas deben volver a aplicarse antes de iniciar la sincronización.

Servidor en espera de reserva - modo provisional

Si tiene un entorno más complejo, se recomienda tener uno o más servidores en espera. Durante la instalación puede habilitar un servidor que esté en modo provisional.

Para obtener más información, consulte Modo provisional.

Uso de máquinas virtuales

Un método común y admitido es ejecutar el motor de sincronización en una máquina virtual. En caso de que el host tenga un problema, la imagen con el servidor del motor de sincronización se puede migrar a otro servidor.

alta disponibilidad de SQL

Si no utiliza la versión de SQL Server Express que se incluye con Microsoft Entra Connect, también debe tener en cuenta la alta disponibilidad para SQL Server. Las soluciones de alta disponibilidad compatibles incluyen la agrupación en clústeres de SQL y AOA (Grupos de disponibilidad AlwaysOn). Entre las soluciones no admitidas se incluye la creación de reflejo.

Se agregó la compatibilidad de AOA de SQL a Microsoft Entra Connect en la versión 1.1.524.0. Debe habilitar AOA de SQL antes de instalar Microsoft Entra Connect. Durante la instalación, Microsoft Entra Connect detecta si la instancia de SQL proporcionada está habilitada para AOA de SQL o no. Si AOA de SQL está habilitada, Microsoft Entra Connect averigua si AOA de SQL está configurada para usar la replicación sincrónica o asincrónica. Cuando configure la escucha de grupo de disponibilidad, la propiedad RegisterAllProvidersIP debe establecerse en 0. Microsoft Entra Connect usa actualmente SQL Native Client para conectarse a SQL y SQL Native Client no admite el uso de la propiedad MultiSubNetFailover.

Apéndice: CSAnalyzer

Vea la sección de comprobación sobre cómo usar este script.

Param(
 [Parameter(Mandatory=$true, HelpMessage="Must be a file generated using csexport 'Name of Connector' export.xml /f:x)")]
 [string]$xmltoimport="%temp%\exportedStage1a.xml",
 [Parameter(Mandatory=$false, HelpMessage="Maximum number of users per output file")][int]$batchsize=1000,
 [Parameter(Mandatory=$false, HelpMessage="Show console output")][bool]$showOutput=$false
)

#LINQ isn't loaded automatically, so force it
[Reflection.Assembly]::Load("System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089") | Out-Null

[int]$count=1
[int]$outputfilecount=1
[array]$objOutputUsers=@()

#XML must be generated using "csexport "Name of Connector" export.xml /f:x"
write-host "Importing XML" -ForegroundColor Yellow

#XmlReader.Create won't properly resolve the file location,
#so expand and then resolve it
$resolvedXMLtoimport=Resolve-Path -Path ([Environment]::ExpandEnvironmentVariables($xmltoimport))

#use an XmlReader to deal with even large files
$result=$reader = [System.Xml.XmlReader]::Create($resolvedXMLtoimport) 
$result=$reader.ReadToDescendant('cs-object')
if($result)
{
 do 
 {
  #create the object placeholder
  #adding them up here means we can enforce consistency
  $objOutputUser=New-Object psobject
  Add-Member -InputObject $objOutputUser -MemberType NoteProperty -Name ID -Value ""
  Add-Member -InputObject $objOutputUser -MemberType NoteProperty -Name Type -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name DN -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name operation -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name UPN -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name displayName -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name sourceAnchor -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name alias -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name primarySMTP -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name onPremisesSamAccountName -Value ""
  Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name mail -Value ""

  $user = [System.Xml.Linq.XElement]::ReadFrom($reader)
  if ($showOutput) {Write-Host Found an exported object... -ForegroundColor Green}

  #object id
  $outID=$user.Attribute('id').Value
  if ($showOutput) {Write-Host ID: $outID}
  $objOutputUser.ID=$outID

  #object type
  $outType=$user.Attribute('object-type').Value
  if ($showOutput) {Write-Host Type: $outType}
  $objOutputUser.Type=$outType

  #dn
  $outDN= $user.Element('unapplied-export').Element('delta').Attribute('dn').Value
  if ($showOutput) {Write-Host DN: $outDN}
  $objOutputUser.DN=$outDN

  #operation
  $outOperation= $user.Element('unapplied-export').Element('delta').Attribute('operation').Value
  if ($showOutput) {Write-Host Operation: $outOperation}
  $objOutputUser.operation=$outOperation

  #now that we have the basics, go get the details

  foreach ($attr in $user.Element('unapplied-export-hologram').Element('entry').Elements("attr"))
  {
   $attrvalue=$attr.Attribute('name').Value
   $internalvalue= $attr.Element('value').Value

   switch ($attrvalue)
   {
    "userPrincipalName"
    {
     if ($showOutput) {Write-Host UPN: $internalvalue}
     $objOutputUser.UPN=$internalvalue
    }
    "displayName"
    {
     if ($showOutput) {Write-Host displayName: $internalvalue}
     $objOutputUser.displayName=$internalvalue
    }
    "sourceAnchor"
    {
     if ($showOutput) {Write-Host sourceAnchor: $internalvalue}
     $objOutputUser.sourceAnchor=$internalvalue
    }
    "alias"
    {
     if ($showOutput) {Write-Host alias: $internalvalue}
     $objOutputUser.alias=$internalvalue
    }
    "proxyAddresses"
    {
     if ($showOutput) {Write-Host primarySMTP: ($internalvalue -replace "SMTP:","")}
     $objOutputUser.primarySMTP=$internalvalue -replace "SMTP:",""
    }
   }
  }

  $objOutputUsers += $objOutputUser

  Write-Progress -activity "Processing ${xmltoimport} in batches of ${batchsize}" -status "Batch ${outputfilecount}: " -percentComplete (($objOutputUsers.Count / $batchsize) * 100)

  #every so often, dump the processed users in case we blow up somewhere
  if ($count % $batchsize -eq 0)
  {
   Write-Host Hit the maximum users processed without completion... -ForegroundColor Yellow

   #export the collection of users as a CSV
   Write-Host Writing processedusers${outputfilecount}.csv -ForegroundColor Yellow
   $objOutputUsers | Export-Csv -path processedusers${outputfilecount}.csv -NoTypeInformation

   #increment the output file counter
   $outputfilecount+=1

   #reset the collection and the user counter
   $objOutputUsers = $null
   $count=0
  }

  $count+=1

  #need to bail out of the loop if no more users to process
  if ($reader.NodeType -eq [System.Xml.XmlNodeType]::EndElement)
  {
   break
  }

 } while ($reader.Read)

 #need to write out any users that didn't get picked up in a batch of 1000
 #export the collection of users as CSV
 Write-Host Writing processedusers${outputfilecount}.csv -ForegroundColor Yellow
 $objOutputUsers | Export-Csv -path processedusers${outputfilecount}.csv -NoTypeInformation
}
else
{
 Write-Host "Imported XML file is empty. No work to do." -ForegroundColor Red
}

Pasos siguientes

Temas de introducción