Microsoft Entra Connect: server di gestione temporanea e ripristino di emergenza

Con un server in modalità di gestione temporanea è possibile apportare modifiche alla configurazione e visualizzarle in anteprima prima di attivare il server. È anche possibile eseguire operazioni di importazione e sincronizzazione complete per verificare che tutte le modifiche siano previste prima di introdurle nell'ambiente di produzione.

Modalità di gestione temporanea

La modalità di gestione temporanea può essere usata per diversi scenari, ad esempio:

  • Disponibilità elevata.
  • Testare e distribuire le nuove modifiche della configurazione.
  • Introdurre un nuovo server e rimuovere quello vecchio.

Durante l'installazione è possibile selezionare la modalità di gestione temporaneaper il server. Questa azione rende attivo il server per l'importazione e la sincronizzazione, ma non esegue alcuna esportazione. Un server in modalità di gestione temporanea non eseguirà la sincronizzazione o il writeback delle password, anche se queste funzionalità sono state selezionate durante l'installazione. Quando si disabilita la modalità di gestione temporanea, il server avvia l'esportazione e abilita la sincronizzazione e il writeback delle password.

Nota

Si supponga di avere Microsoft Entra Connect con la funzionalità di sincronizzazione dell'hash delle password abilitata. Quando si abilita la modalità di gestione temporanea, il server arresta la sincronizzazione delle modifiche alla password da AD locale. Quando si disabilita la modalità di gestione temporanea, il server riepiloga la sincronizzazione delle modifiche alla password dal punto in cui è stata interrotta. Se il server viene lasciato in modalità di gestione temporanea per un lungo periodo di tempo, la sincronizzazione da parte del server di tutte le modifiche alle password, verificatesi durante un determinato periodo, potrebbe richiedere un po' di tempo.

È comunque possibile forzare un’esportazione utilizzando Synchronization Service Manager.

Un server in modalità di gestione temporanea continua a ricevere modifiche da Active Directory e Microsoft Entra ID e può assumere rapidamente le responsabilità di un altro server in caso di errore. Se si apportano modifiche alla configurazione del server primario, è necessario apportare le stesse modifiche al server in modalità di gestione temporanea.

Coloro che hanno una conoscenza delle tecnologie di sincronizzazione precedenti tengano presente che la modalità di gestione temporanea è diversa, perché il server ha il proprio database SQL. L'architettura consente al server in modalità di gestione temporanea di trovarsi in un altro data center.

Verificare la configurazione di un server

Per applicare questo metodo, seguire questa procedura:

  1. Preparare
  2. Configurazione
  3. Importare e sincronizzare
  4. Verificare
  5. Cambiare il server attivo

Preparazione

  1. Installare Microsoft Entra Connect, selezionare Modalità di gestione temporanea e deselezionare Avvia sincronizzazione nell'ultima pagina dell'installazione guidata. In questo modo è possibile eseguire manualmente il motore di sincronizzazione. Screenshot che mostra la pagina Pronto per la configurazione nella finestra di dialogo Microsoft Entra Connect.
  2. Disconnettersi e accedere, quindi dal menu Start selezionare Synchronization Service(Servizio di sincronizzazione).

Impostazione

Se si sono apportate modifiche personalizzate al server primario e si desidera confrontare la configurazione con server di gestione temporanea, usare l'analizzatore di configurazione di Microsoft Entra Connect.

Importare e sincronizzare

  1. Selezionare Connettori e quindi selezionare il primo connettore con il tipo Servizi di dominio Active Directory. Fare clic su Run (Esegui), selezionare Full import (Importazione completa) e fare clic su OK. Eseguire questi passaggi per tutti i connettori di questo tipo.
  2. Selezionare connettore con tipo Microsoft Entra ID (Microsoft). Fare clic su Run (Esegui), selezionare Full import (Importazione completa) e fare clic su OK.
  3. Assicurarsi che la scheda Connectors (Connettori) sia ancora selezionata. Per ogni connettore con il tipo Active Directory Domain Services fare clic su Run (Esegui), selezionare Delta Synchronization (Sincronizzazione delta) e fare clic su OK.
  4. Selezionare connettore con tipo Microsoft Entra ID (Microsoft). Fare clic su Run (Esegui), selezionare Delta Synchronization (Sincronizzazione delta) e quindi fare clic su OK.

Sono state apportate modifiche all'esportazione temporanea in Microsoft Entra ID e AD locale (se si usa la distribuzione ibrida di Exchange). I passaggi successivi consentono di ispezionare quali sono gli elementi che stanno per essere modificati prima di avviare effettivamente l'esportazione nelle directory.

Verificare

  1. Avviare un prompt dei comandi e passare a %ProgramFiles%\Microsoft Azure AD Sync\bin
  2. Eseguire: csexport "Name of Connector" %temp%\export.xml /f:x Il nome del connettore si trova nel servizio di sincronizzazione. Ha un nome simile a "contoso.com – Microsoft Entra ID" per Microsoft Entra ID.
  3. Eseguire: CSExportAnalyzer %temp%\export.xml > %temp%\export.csv Si avrà un file denominato export.csv in %temp%, che può essere esaminato in Microsoft Excel. Questo file contiene tutte le modifiche in fase di esportazione.
  4. Apportare le modifiche necessarie ai dati o alla configurazione ed eseguire di nuovo questi passaggi (importazione, sincronizzazione e verifica) finché le modifiche che verranno esportate non saranno quelle previste.

Informazioni sul file export.csv

La maggior parte del file è facilmente comprensibile. Ecco alcune abbreviazioni per comprendere il contenuto:

  • OMODT: Object Modification Type. Indica se l'operazione a livello di oggetto è un'aggiunta, un aggiornamento o un'eliminazione.
  • AMODT: Attribute Modification Type. Indica se l'operazione a livello di attributo è un'aggiunta, un aggiornamento o un'eliminazione.

Recuperare gli identificatori comuni

Questo file export.csv contiene tutte le modifiche in fase di esportazione. Ogni riga corrisponde a una modifica per un oggetto nello spazio connettore e l'oggetto è identificato dall'attributo DN. L'attributo DN è un identificatore univoco assegnato a un oggetto nello spazio connettore. Quando si dispone di molte righe/modifiche nel file export.csv da analizzare, potrebbe essere difficile individuare gli oggetti da modificare solo in base all'attributo DN. Per semplificare il processo di analisi delle modifiche, usare lo script di PowerShell csanalyzer.ps1. Lo script recupera gli identificatori comuni (ad esempio displayName e userPrincipalName) degli oggetti. Per usare lo script:

  1. Copiare lo script di PowerShell dalla sezione CSAnalyzer in un file denominato csanalyzer.ps1.
  2. Aprire una finestra di PowerShell e passare alla cartella in cui è stato creato lo script di PowerShell.
  3. Eseguire: .\csanalyzer.ps1 -xmltoimport %temp%\export.xml.
  4. A questo punto si avrà un file denominato processedusers1.csv, che può essere esaminato in Microsoft Excel. Si noti che il file fornisce un mapping dall'attributo DN agli identificatori comuni (ad esempio displayName e userPrincipalName). Attualmente non include le modifiche effettive dell'attributo che stanno per essere esportate.

Cambiare il server attivo

Microsoft Entra Connect può essere configurato in una configurazione a disponibilità elevata attiva-passiva, in cui un server esegue attivamente il push delle modifiche agli oggetti AD sincronizzati con Microsoft Entra ID e il server passivo esegue le fasi di queste modifiche nel caso in cui debba assumere il controllo.

Nota

Non è possibile configurare Microsoft Entra Connect in una configurazione Attivo-Attivo. Deve essere Attivo-Passivo. Assicurarsi che solo 1 server Microsoft Entra Connect stia sincronizzando attivamente le modifiche.

Per altre informazioni sulla configurazione di un server di sincronizzazione Microsoft Entra Connect in modalità di gestione temporanea, vedere Modalità di gestione temporanea

Potrebbe essere necessario eseguire un failover dei server di sincronizzazione per diversi motivi, ad esempio l'aggiornamento della versione di Microsoft Entra Connect o la ricezione di un avviso che indica che il servizio di integrità del servizio di sincronizzazione non riceve informazioni aggiornate. In questi eventi è possibile tentare un failover dei server di sincronizzazione seguendo la procedura seguente.

Importante

Il passaggio di un server di staging alla modalità attiva può avere un impatto grave nella sincronizzazione, se le condizioni seguenti non vengono soddisfatte. Come precauzione, eseguire sempre un ciclo di sincronizzazione iniziale e Verificare le esportazioni in sospeso, prima di eseguire questa operazione.

Prerequisiti

  • Un server di sincronizzazione Microsoft Entra Connect attualmente attivo
  • Un server di sincronizzazione Microsoft Entra Connect di gestione temporanea
  • Il server di gestione temporanea dispone dell'utilità di pianificazione della sincronizzazione abilitata e ha eseguito di recente la sincronizzazione con l'ID Microsoft Entra
  • In caso di aggiornamenti nelle regole di sincronizzazione o nell'ambito di sincronizzazione, eseguire un ciclo di sincronizzazione iniziale
  • Verificare che il server di sincronizzazione Microsoft Entra Connect sia configurato per impedire eliminazioni accidentali
  • Verificare le esportazioni in sospeso e verificare che non siano presenti aggiornamenti significativi e che tali aggiornamenti siano previsti
  • Controllare se l'agente di Microsoft Entra Connect Health viene aggiornato controllando il server nel portale di Microsoft Entra Connect Health
  • Passare al server attivo corrente alla modalità di gestione temporanea, prima di passare al server di gestione temporanea attivo

Modificare attualmente Active Sync Server in modalità di gestione temporanea

È necessario assicurarsi che un solo server di sincronizzazione stia sincronizzando le modifiche in qualsiasi momento durante questo processo. Se il server di sincronizzazione attualmente attivo è raggiungibile, è possibile eseguire i passaggi seguenti per spostarlo in modalità di gestione temporanea. Se non è raggiungibile, assicurarsi che il server o la macchina virtuale non recupeni l'accesso in modo imprevisto arrestando il server o isolandolo dalle connessioni in uscita.

  1. Per il server Microsoft Entra Connect attualmente attivo, aprire la procedura guidata Microsoft Entra Connect e fare clic su "Configura modalità di gestione temporanea" e quindi su Avanti:

Screenshot che mostra la modalità di gestione temporanea evidenziata nella finestra di dialogo Active Microsoft Entra Connect.

  1. Sarà necessario accedere a Microsoft Entra ID con le credenziali di amministratore delle identità ibride:

Screenshot che mostra la richiesta di accesso nella finestra di dialogo Active Microsoft Entra Connect.

  1. Selezionare la casella modalità di gestione temporanea e fare clic su Avanti:

Screenshot che mostra la configurazione della modalità di gestione temporanea nella finestra di dialogo Active Microsoft Entra Connect.

  1. Il server Microsoft Entra Connect verifica la presenza di componenti installati e quindi chiede se si vuole avviare il processo di sincronizzazione al termine della modifica della configurazione:

Screenshot che mostra la schermata Pronto per la configurazione nella finestra di dialogo Active Microsoft Entra Connect.

Poiché il server è in modalità di gestione temporanea, non scriverà le modifiche apportate all'ID Microsoft Entra, ma mantiene le modifiche apportate ad AD nello spazio connettore, pronto per scriverle. È consigliabile lasciare attivo il processo di sincronizzazione per il server in modalità di gestione temporanea, quindi, se diventa attivo, assumerà rapidamente il controllo e non dovrà eseguire una sincronizzazione di grandi dimensioni per recuperare lo stato corrente degli oggetti Active Directory/Microsoft Entra nell'ambito.

  1. Dopo aver selezionato per avviare il processo di sincronizzazione e fare clic su Configura, il server Microsoft Entra Connect viene configurato in modalità di gestione temporanea. Al termine, verrà visualizzata una schermata che conferma che la modalità di gestione temporanea è abilitata. È possibile fare clic su Esci per terminare.

  2. È possibile verificare che il server sia in modalità di gestione temporanea aprendo Windows PowerShell, caricare il modulo "ADSync" e verificare la configurazione dell'utilità di pianificazione ADSync usando i comandi seguenti:

Import-Module ADSync
Get-ADSyncScheduler

Dai risultati verificare il valore dell'impostazione "StagingModeEnabled". Se il server è stato impostato correttamente sulla modalità di gestione temporanea, il valore di questa impostazione deve essere True come nell'esempio seguente:

Screenshot che mostra la console del servizio di sincronizzazione nella finestra di dialogo Active Microsoft Entra Connect.

Modificare il server di sincronizzazione temporanea corrente in modalità attiva

A questo punto, tutti i server di sincronizzazione Microsoft Entra Connect devono essere in modalità di gestione temporanea e non esportare le modifiche. È ora possibile spostare il server di sincronizzazione temporanea in modalità attiva e sincronizzare attivamente le modifiche.

  1. Passare ora al server Microsoft Entra Connect originariamente in modalità di gestione temporanea e aprire la procedura guidata Microsoft Entra Connect.

Fare clic su "Configura modalità di gestione temporanea" e fare clic su Avanti:

Screenshot che mostra la modalità di gestione temporanea evidenziata nella finestra di dialogo Staging Microsoft Entra Connect.

Il messaggio nella parte inferiore della procedura guidata indica che il server è in modalità di gestione temporanea.

  1. Accedere a Microsoft Entra ID e quindi passare alla schermata Modalità di gestione temporanea.

Rimuovere la casella per la modalità di gestione temporanea e fare clic su Avanti.

Screenshot che mostra la configurazione della modalità di gestione temporanea nella finestra di dialogo Staging Microsoft Entra Connect.

In base all'avviso in questa pagina, è importante assicurarsi che nessun altro server Microsoft Entra Connect sia sincronizzato attivamente.

Deve essere presente un solo server di sincronizzazione Microsoft Entra Connect attivo in qualsiasi momento.

  1. Quando viene richiesto di avviare il processo di sincronizzazione, selezionare questa casella e fare clic su Configura:

Screenshot che mostra la schermata Pronto per la configurazione nella finestra di dialogo Staging Microsoft Entra Connect.

  1. Al termine del processo, verrà visualizzata la schermata di conferma seguente in cui è possibile fare clic su Esci per terminare:

Screenshot che mostra la schermata Conferma nella finestra di dialogo Gestione temporanea di Microsoft Entra Connect.

  1. È possibile verificare che questo processo funzioni aprendo la console del servizio di sincronizzazione e verificando se i processi di esportazione sono in esecuzione:

Screenshot che mostra la console del servizio di sincronizzazione nella finestra di dialogo Staging Microsoft Entra Connect.

Ripristino di emergenza

Parte della progettazione dell'implementazione consiste nel pianificare le operazioni da eseguire in caso di emergenza in cui si perde il server di sincronizzazione. Ci sono diversi modelli da usare e quello scelto dipende da diversi fattori, ad esempio:

  • Qual è la tolleranza per l'impossibilità di apportare modifiche agli oggetti in Microsoft Entra ID durante il tempo di inattività?
  • Se si usa la sincronizzazione delle password, gli utenti accettano di dover usare la vecchia password in Microsoft Entra ID nel caso la modifichino in locale?
  • Si ha una dipendenza dalle operazioni in tempo reale, ad esempio il writeback delle password?

A seconda delle risposte a queste domande e dei criteri dell'organizzazione, è possibile implementare una delle strategie seguenti:

  • Ricompilare quando necessario.
  • Avere un server di standby di riserva, ovvero in modalità di gestione temporanea.
  • Usare macchine virtuali.

Se non si usa il database SQL Express predefinito, è consigliabile esaminare anche la sezione Disponibilità elevata SQL.

Ricompilare quando necessario

Una strategia valida consiste nel pianificare la ricompilazione di un server in caso di necessità. L'installazione del motore di sincronizzazione e l'esecuzione dell'importazione iniziale e della sincronizzazione possono essere generalmente completate in poche ore. Se non è disponibile un server di riserva, è possibile usare temporaneamente un controller di dominio per ospitare il motore di sincronizzazione.

Il server del motore di sincronizzazione non archivia alcuno stato sugli oggetti in modo che il database possa essere ricompilato dai dati in Active Directory e microsoft Entra ID. L'attributo sourceAnchor viene usato per aggiungere gli oggetti sia locali che dal cloud. Se si ricompila il server con gli oggetti esistenti in locale e nel cloud, il motore di sincronizzazione abbinerà di nuovo questi oggetti al momento della reinstallazione. Gli elementi che occorre documentare e salvare sono le modifiche della configurazione apportate al server, ad esempio le regole di filtro e sincronizzazione. Queste configurazioni personalizzate dovranno essere riapplicate prima di avviare la sincronizzazione.

Avere un server di standby di riserva, in modalità di gestione temporanea

Nel caso di un ambiente più complesso, è consigliabile avere uno o più server di standby. Durante l'installazione è possibile abilitare un server in modalità di gestione temporanea.

Per altre informazioni, vedere le modalità di gestione temporanea.

Usare macchine virtuali

Un metodo comune e supportato consiste nell'eseguire il motore di sincronizzazione in una macchina virtuale. Nel caso di un problema dell'host, è possibile eseguire la migrazione dell'immagine del server del motore di sincronizzazione in un altro server.

Disponibilità elevata di SQL

Se non si usa SQL Server Express fornito con Microsoft Entra Connect, è necessario prendere in considerazione anche la disponibilità elevata per SQL Server. Le soluzioni a disponibilità elevata supportate includono il clustering di SQL e AOA (Gruppi di disponibilità Always On), mentre il mirroring è una delle soluzioni non supportate.

Il supporto per SQL AOA è stato aggiunto a Microsoft Entra Connect nella versione 1.1.524.0. È necessario abilitare SQL AOA prima di installare Microsoft Entra Connect. Durante l'installazione, Microsoft Entra Connect rileva se l'istanza SQL specificata è abilitata per SQL AOA oppure no. Se SQL AOA è abilitato, Microsoft Entra Connect rileva quindi se SQL AOA è configurato per usare la replica sincrona o asincrona. Quando si configura il listener del gruppo di disponibilità, la proprietà RegisterAllProvidersIP deve essere impostata su 0. Microsoft Entra Connect usa attualmente SQL Native Client per connettersi a SQL e SQL Native Client non supporta l'uso della proprietà MultiSubNetFailover.

Appendice CSAnalyzer

Vedere la sezione Verificare su come usare questo 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
}

Passaggi successivi

Argomenti generali