Dela via


Microsoft Entra Connect: Mellanlagringsserver och haveriberedskap

Med en server i mellanlagringsläge kan du göra ändringar i konfigurationen och förhandsgranska ändringarna innan du gör servern aktiv. Du kan också köra fullständig import och fullständig synkronisering för att kontrollera att alla ändringar uppfyller förväntningarna innan du gör dessa ändringar i produktionsmiljön.

Mellanlagringsläge

Mellanlagringsläget kan användas för flera scenarier, inklusive:

  • Hög tillgänglighet.
  • Testa och distribuera nya konfigurationsändringar.
  • Introducera en ny server och inaktivera den gamla.

Under installationen kan du välja att servern ska vara i mellanlagringsläge. Den här åtgärden gör servern aktiv för import och synkronisering, men den kör inga exporter. En server i mellanlagringsläge kör inte tillbakaskrivning av lösenord eller tillbakaskrivning av lösenord, även om du valde dessa funktioner under installationen. När du inaktiverar mellanlagringsläget börjar servern exportera, aktiverar lösenordssynkronisering och aktiverar tillbakaskrivning av lösenord.

Kommentar

Anta att du har aktiverat en Microsoft Entra Connect med synkronisering av lösenordshash. När du aktiverar mellanlagringsläge slutar servern synkronisera lösenordsändringar från lokal AD. När du inaktiverar mellanlagringsläget återupptar servern synkroniseringen av lösenordsändringar där den senast slutade. Om servern är kvar i mellanlagringsläge under en längre tid kan det ta en stund för servern att synkronisera alla lösenordsändringar som inträffat under tidsperioden.

Du kan fortfarande tvinga fram en export med hjälp av synkroniseringstjänsthanteraren.

En server i mellanlagringsläge fortsätter att ta emot ändringar från Active Directory och Microsoft Entra-ID och kan snabbt ta över ansvaret för en annan server i händelse av ett fel. Om du gör konfigurationsändringar på den primära servern är det ditt ansvar att göra samma ändringar på servern i mellanlagringsläge.

För dig med kunskap om äldre synkroniseringstekniker är mellanlagringsläget annorlunda eftersom servern har en egen SQL-databas. Med den här arkitekturen kan mellanlagringslägesservern finnas i ett annat datacenter.

Verifiera konfigurationen för en server

Följ dessa steg för att tillämpa den här metoden:

  1. Förbereda
  2. Konfiguration
  3. Importera och synkronisera
  4. Verifiera
  5. Växla aktiv server

Förbereda

  1. Installera Microsoft Entra Connect, välj mellanlagringsläge och avmarkera startsynkronisering på sista sidan i installationsguiden. Med det här läget kan du köra synkroniseringsmotorn manuellt. Skärmbild som visar sidan Redo att konfigurera i dialogrutan Microsoft Entra Connect.
  2. Logga ut/logga in och välj Synkroniseringstjänst på Start-menyn.

Konfiguration

Om du har gjort anpassade ändringar på den primära servern och vill jämföra konfigurationen med mellanlagringsservern använder du Microsoft Entra Connect-konfigurationsdokumentatorn.

Importera och synkronisera

  1. Välj Anslutningsappar och välj den första anslutningsappen med typen Usluge domena aktivnog direktorijuma. Klicka på Kör, välj Fullständig import och OK. Utför de här stegen för alla anslutningsappar av den här typen.
  2. Välj anslutningsappen med typen Microsoft Entra ID (Microsoft). Klicka på Kör, välj Fullständig import och OK.
  3. Kontrollera att fliken Anslutningsappar fortfarande är markerad. För varje anslutningsprogram med typ Usluge domena aktivnog direktorijuma klickar du på Kör, väljer Deltasynkronisering och OK.
  4. Välj anslutningsappen med typen Microsoft Entra ID (Microsoft). Klicka på Kör, välj Deltasynkronisering och OK.

Nu har du mellanlagrat exportändringar i Microsoft Entra-ID och lokal AD (om du använder Exchange Hybrid-distribution). Med nästa steg kan du kontrollera vad som håller på att ändras innan du påbörjar exporten till katalogerna.

Verifiera

  1. Starta en cmd-prompt och gå till %ProgramFiles%\Microsoft Azure AD Sync\bin
  2. Kör: csexport "Name of Connector" %temp%\export.xml /f:x Namnet på anslutningsappen finns i synkroniseringstjänsten. Det har ett namn som liknar "contoso.com – Microsoft Entra ID" för Microsoft Entra ID.
  3. Kör: CSExportAnalyzer %temp%\export.xml > %temp%\export.csv Du har en fil i %temp% med namnet export.csv som kan undersökas i Microsoft Excel. Den här filen innehåller alla ändringar som ska exporteras.
  4. Gör nödvändiga ändringar i data eller konfiguration och kör de här stegen igen (Importera och synkronisera och verifiera) tills de ändringar som ska exporteras förväntas.

Förstå export.csv-filen

Merparten av filen är självförklarande. Vissa förkortningar för att förstå innehållet:

  • OMODT – typ av objektändring. Anger om åtgärden på objektnivå är lägg till, uppdatera eller ta bort.
  • AMODT – typ av attributändring. Anger om åtgärden på attributnivå är lägg till, uppdatera eller ta bort.

Hämta vanliga identifierare

Filen export.csv innehåller alla ändringar som ska exporteras. Varje rad motsvarar en ändring för ett objekt i anslutningsutrymmet och objektet identifieras av DN-attributet. DN-attributet är en unik identifierare som tilldelats ett objekt i anslutningsutrymmet. När du har många rader/ändringar i export.csv att analysera kan det vara svårt för dig att ta reda på vilka objekt ändringarna gäller enbart baserat på DN-attributet. Om du vill förenkla processen med att analysera ändringarna använder du csanalyzer.ps1 PowerShell-skriptet. Skriptet hämtar vanliga identifierare (till exempel displayName, userPrincipalName) för objekten. Så här använder du skriptet:

  1. Kopiera PowerShell-skriptet från avsnittet CSAnalyzer till en fil med namnet csanalyzer.ps1.
  2. Öppna ett PowerShell-fönster och bläddra till mappen där du skapade PowerShell-skriptet.
  3. Kör: .\csanalyzer.ps1 -xmltoimport %temp%\export.xml.
  4. Nu har du en fil med namnet processedusers1.csv som kan undersökas i Microsoft Excel. Observera att filen innehåller en mappning från DN-attributet till vanliga identifierare (till exempel displayName och userPrincipalName). Den innehåller för närvarande inte de faktiska attributändringar som ska exporteras.

Växla aktiv server

Microsoft Entra Connect kan konfigureras i en konfiguration med aktiv-passiv hög tillgänglighet, där en server aktivt skickar ändringar till de synkroniserade AD-objekten till Microsoft Entra-ID och den passiva servern fasar dessa ändringar i händelse av att den tar över.

Kommentar

Du kan inte konfigurera Microsoft Entra Connect i en Active-Active-konfiguration. Den måste vara aktiv-passiv. Se till att endast 1 Microsoft Entra Connect-server synkroniserar ändringar aktivt.

Mer information om hur du konfigurerar en Microsoft Entra Connect Sync-server i mellanlagringsläge finns i mellanlagringsläge

Du kan behöva utföra en redundansväxling av synkroniseringsservrarna av flera skäl, till exempel att uppgradera versionen av Microsoft Entra Connect eller ta emot en avisering om att synkroniseringstjänstens hälsotjänst inte tar emot uppdaterad information. I dessa händelser kan du försöka utföra en redundansväxling av synkroniseringsservrarna genom att följa stegen nedan.

Viktigt!

Om du byter mellanlagringsserver till aktivt läge kan det påverka synkroniseringen allvarligt om följande villkor inte uppfylls. Som en försiktighetsåtgärd kör du alltid en inledande synkroniseringscykel och Verifiera väntande exporter innan du utför den här åtgärden.

Förutsättningar

  • En för närvarande aktiv Microsoft Entra Connect Sync Server
  • En mellanlagring av Microsoft Entra Connect Sync Server
  • Mellanlagringsservern har synkroniseringsschemaläggaren aktiverad och har synkroniserats med Microsoft Entra-ID nyligen
  • Om det finns uppdateringar i synkroniseringsregler eller i synkroniseringsomfånget kör du en inledande synkroniseringscykel
  • Bekräfta att Microsoft Entra Connect Sync Server har konfigurerats för att förhindra oavsiktliga borttagningar
  • Kontrollera de väntande exporterna och bekräfta att det inte finns några betydande uppdateringar och att sådana uppdateringar förväntas
  • Kontrollera om Microsoft Entra Connect Health-agenten uppdateras genom att kontrollera servern i Microsoft Entra Connect Health-portalen
  • Växla den aktuella aktiva servern till mellanlagringsläge innan du växlar mellanlagringsservern till aktiv

Ändra aktiv synkroniseringsserver till mellanlagringsläge

Vi måste se till att endast en synkroniseringsserver synkroniserar ändringar vid en viss tidpunkt under hela den här processen. Om den aktiva synkroniseringsservern kan nås kan du utföra stegen nedan för att flytta den till mellanlagringsläge. Om den inte kan nås kontrollerar du att servern eller den virtuella datorn inte får åtkomst oväntat antingen genom att stänga av servern eller isolera den från utgående anslutningar.

  1. För den aktiva Microsoft Entra Connect-servern öppnar du guiden Microsoft Entra Connect och klickar på "Konfigurera mellanlagringsläge" och sedan på Nästa:

Skärmbild som visar mellanlagringsläget markerat i dialogrutan Active Microsoft Entra Connect.

  1. Du måste logga in på Microsoft Entra-ID med autentiseringsuppgifter för hybrididentitetsadministratör:

Skärmbild som visar inloggningsprompt i dialogrutan Active Microsoft Entra Connect.

  1. Markera kryssrutan för mellanlagringsläge och klicka på Nästa:

Skärmbild som visar konfiguration av mellanlagringsläge i dialogrutan Active Microsoft Entra Connect.

  1. Microsoft Entra Connect-servern söker efter installerade komponenter och frågar sedan om du vill starta synkroniseringsprocessen när konfigurationsändringen är klar:

Skärmbild som visar skärmen Klar att konfigurera i dialogrutan Active Microsoft Entra Connect.

Eftersom servern är i mellanlagringsläge kommer den inte att skriva ändringar i Microsoft Entra-ID, utan behåller alla ändringar i AD i sitt anslutningsutrymme, redo att skriva dem. Vi rekommenderar att du lämnar synkroniseringsprocessen på för servern i mellanlagringsläge, så om den blir aktiv tar den snabbt över och behöver inte göra en stor synkronisering för att komma ikapp det aktuella tillståndet för Active Directory-/Microsoft Entra-objekten i omfånget.

  1. När du har valt att starta synkroniseringsprocessen och klickat på Konfigurera konfigureras Microsoft Entra Connect-servern till mellanlagringsläge. När du är klar uppmanas du att använda en skärm som bekräftar att mellanlagringsläget är aktiverat. Du kan klicka på Avsluta för att slutföra.

  2. Du kan bekräfta att servern är i mellanlagringsläge genom att öppna Windows PowerShell, läsa in modulen "ADSync" och verifiera ADSync Scheduler-konfigurationen med hjälp av följande kommandon:

Import-Module ADSync
Get-ADSyncScheduler

I resultatet kontrollerar du värdet för inställningen "StagingModeEnabled". Om servern har växlats till mellanlagringsläge bör värdet för den här inställningen vara Sant som i exemplet nedan:

Skärmbild som visar synkroniseringstjänstkonsolen i dialogrutan Active Microsoft Entra Connect.

Ändra aktuell mellanlagringssynkroniseringsserver till aktivt läge

Nu bör alla våra Microsoft Entra Connect-synkroniseringsservrar vara i mellanlagringsläge och inte exportera ändringar. Nu kan vi flytta vår server för mellanlagringssynkronisering till aktivt läge och aktivt synkronisera ändringar.

  1. Gå nu till Microsoft Entra Connect-servern som ursprungligen var i mellanlagringsläge och öppna guiden Microsoft Entra Connect.

Klicka på "Konfigurera mellanlagringsläge" och klicka på Nästa:

Skärmbild som visar mellanlagringsläget markerat i dialogrutan Mellanlagring av Microsoft Entra Connect.

Meddelandet längst ned i guiden anger att servern är i mellanlagringsläge.

  1. Logga in på Microsoft Entra-ID och gå sedan till skärmen Mellanlagringsläge.

Avmarkera rutan för mellanlagringsläge och klicka på Nästa.

Skärmbild som visar konfiguration av mellanlagringsläge i dialogrutan Mellanlagring av Microsoft Entra Connect.

Enligt varningen på den här sidan är det viktigt att se till att ingen annan Microsoft Entra Connect-server synkroniseras aktivt.

Det bör bara finnas en aktiv Microsoft Entra Connect Sync-server när som helst.

  1. När du uppmanas att starta synkroniseringsprocessen markerar du den här rutan och klickar på Konfigurera:

Skärmbild som visar skärmen Klar att konfigurera i dialogrutan Mellanlagring av Microsoft Entra Connect.

  1. När processen är klar bör du få bekräftelseskärmen nedan där du kan klicka på Avsluta för att slutföra:

Skärmbild som visar bekräftelseskärmen i dialogrutan Mellanlagring av Microsoft Entra Connect.

  1. Du kan bekräfta att den här processen fungerar genom att öppna synkroniseringstjänstkonsolen och kontrollera om exportjobb körs:

Skärmbild som visar synkroniseringstjänstkonsolen i dialogrutan Mellanlagring av Microsoft Entra Connect.

Haveriberedskap

En del av implementeringsdesignen är att planera för vad du ska göra om det uppstår en katastrof där du förlorar synkroniseringsservern. Det finns olika modeller att använda och vilken som ska användas beror på flera faktorer, bland annat:

  • Vad är din tolerans för att inte kunna göra ändringar i objekt i Microsoft Entra-ID under stilleståndstiden?
  • Om du använder lösenordssynkronisering, accepterar användarna att de måste använda det gamla lösenordet i Microsoft Entra ID om de ändrar det lokalt?
  • Är du beroende av realtidsåtgärder, till exempel tillbakaskrivning av lösenord?

Beroende på svaren på dessa frågor och organisationens policy kan någon av följande strategier implementeras:

  • Återskapa när det behövs.
  • Ha en reservserver i vänteläge, så kallat mellanlagringsläge.
  • Använd virtuella datorer.

Om du inte använder den inbyggda SQL Express-databasen bör du också granska avsnittet SQL Hög tillgänglighet .

Återskapa när det behövs

En livskraftig strategi är att planera för en serverrekonstruktion när det behövs. Vanligtvis kan installationen av synkroniseringsmotorn och den inledande importen och synkroniseringen slutföras inom några timmar. Om det inte finns någon extra server tillgänglig kan du tillfälligt använda en domänkontrollant som värd för synkroniseringsmotorn.

Synkroniseringsmotorservern lagrar inte något tillstånd om objekten så att databasen kan återskapas från data i Active Directory och Microsoft Entra-ID. Attributet sourceAnchor används för att koppla objekten från den lokala miljön och molnet. Om du återskapar servern med befintliga objekt lokalt och molnet matchar synkroniseringsmotorn dessa objekt igen vid ominstallation. Det du behöver dokumentera och spara är de konfigurationsändringar som görs på servern, till exempel filtrerings- och synkroniseringsregler. De här anpassade konfigurationerna måste tillämpas igen innan du börjar synkronisera.

Ha en reservserver i vänteläge – mellanlagringsläge

Om du har en mer komplex miljö rekommenderar vi att du har en eller flera väntelägesservrar. Under installationen kan du aktivera en server i mellanlagringsläge.

Mer information finns i mellanlagringsläge.

Använda virtuella datorer

En vanlig metod som stöds är att köra synkroniseringsmotorn på en virtuell dator. Om värden har problem kan avbildningen med synkroniseringsmotorservern migreras till en annan server.

SQL-hög tillgänglighet

Om du inte använder SQL Server Express som medföljer Microsoft Entra Connect bör hög tillgänglighet för SQL Server också övervägas. De lösningar för hög tillgänglighet som stöds omfattar SQL-klustring och AOA (AlwaysOn-tillgänglighetsgrupper). Lösningar som inte stöds omfattar spegling.

Stöd för SQL AOA har lagts till i Microsoft Entra Connect i version 1.1.524.0. Du måste aktivera SQL AOA innan du installerar Microsoft Entra Connect. Under installationen identifierar Microsoft Entra Connect om den angivna SQL-instansen är aktiverad för SQL AOA eller inte. Om SQL AOA är aktiverat tar Microsoft Entra Connect ytterligare reda på om SQL AOA är konfigurerat att använda synkron replikering eller asynkron replikering. När du konfigurerar tillgänglighetsgruppens lyssnare måste egenskapen RegisterAllProvidersIP vara inställd på 0. Microsoft Entra Connect använder för närvarande SQL Native Client för att ansluta till SQL och SQL Native Client stöder inte användning av MultiSubNetFailover-egenskapen.

Bilaga CSAnalyzer

Se avsnittet verifiera hur du använder det här skriptet.

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
}

Nästa steg

Översiktsavsnitt