Microsoft Entra Connect: Přípravný server a zotavení po havárii

Server v pracovním režimu umožňuje provést změny konfigurace a vyzkoušet je před tím, než server aktivujete. Umožňuje také spustit úplný import a úplnou synchronizaci, abyste před provedením změn v produkčním prostředí mohli ověřit, že všechny změny odpovídají očekávání.

Pracovní režim

Pracovní režim je možné využít v různých scénářích, mezi které patří:

  • Vysoká dostupnost
  • Testování a nasazení nových změn konfigurace
  • Vytvoření nového serveru a vyřazení starého serveru z provozu

Během instalace můžete vybrat server, který má být v pracovním režimu. Tato akce aktivuje server pro import a synchronizaci, ale nespustí žádné exporty. Server v pracovním režimu nespouštět synchronizaci hesel ani zpětný zápis hesla, i když jste tyto funkce vybrali během instalace. Když zakážete pracovní režim, server začne exportovat, povolí synchronizaci hesel a povolí zpětný zápis hesla.

Poznámka:

Předpokládejme, že máte povolenou funkci Microsoft Entra Connect se synchronizací hodnot hash hesel. Když povolíte pracovní režim, server přestane synchronizovat změny hesel z místní služby AD. Když zakážete pracovní režim, server obnoví synchronizaci změn hesel z místa, kde naposledy skončil. Pokud je server po delší dobu v pracovním režimu, může chvíli trvat, než server synchronizuje všechny změny hesel, ke kterým došlo během časového období.

Export můžete i tak vynutit pomocí správce synchronizačních služeb.

Server v pracovním režimu nadále přijímá změny ze služby Active Directory a ID Microsoft Entra a může v případě selhání rychle převzít odpovědnost jiného serveru. Pokud provedete změny konfigurace primárního serveru, je vaší zodpovědností provést stejné změny serveru v pracovním režimu.

Pro ty z vás se znalostmi starších synchronizačních technologií se pracovní režim liší, protože server má svou vlastní databázi SQL. Tato architektura umožňuje, aby se server přípravného režimu nacházel v jiném datacentru.

Ověření konfigurace serveru

Chcete-li použít tuto metodu, postupujte takto:

  1. Příprava
  2. Konfigurace
  3. Import a synchronizace
  4. Ověřit
  5. Přepnutí aktivního serveru

Příprava

  1. Nainstalujte Nástroj Microsoft Entra Connect, vyberte pracovní režim a zrušte výběr synchronizace spuštění na poslední stránce průvodce instalací. Tento režim umožňuje ruční spuštění synchronizačního modulu. Snímek obrazovky ukazuje stránku Připraveno ke konfiguraci v dialogovém okně Microsoft Entra Connect.
  2. Odhlaste se nebo se přihlaste a v nabídce Start vyberte Synchronizační služba.

Konfigurace

Pokud jste provedli vlastní změny primárního serveru a chcete porovnat konfiguraci s přípravným serverem, použijte dokumentátor konfigurace služby Microsoft Entra Connect.

Import a synchronizace

  1. Vyberte Konektory a vyberte první konektor s typem Doména služby Active Directory Services. Klikněte na Spustit, vyberte Úplný import a OK. Tento postup proveďte pro všechny konektory tohoto typu.
  2. Vyberte konektor s typem Microsoft Entra ID (Microsoft). Klikněte na Spustit, vyberte Úplný import a OK.
  3. Ujistěte se, že je stále vybraná karta Konektory. U každého konektoru s typem Doména služby Active Directory Services klikněte na Spustit, vyberte Rozdílová synchronizace a OK.
  4. Vyberte konektor s typem Microsoft Entra ID (Microsoft). Klikněte na Spustit, vyberte Rozdílová synchronizace a OK.

Nyní jste připravili export změn do Microsoft Entra ID a místní služby AD (pokud používáte hybridní nasazení Exchange). Následující kroky vám umožní zkontrolovat, co se má změnit, než začnete exportovat do adresářů.

Ověření

  1. Spusťte příkazový řádek a přejděte na %ProgramFiles%\Microsoft Azure AD Sync\bin
  2. Spuštění: csexport "Name of Connector" %temp%\export.xml /f:x Název konektoru najdete v synchronizační službě. Má podobný název jako "contoso.com – Microsoft Entra ID" pro Microsoft Entra ID.
  3. Spustit: CSExportAnalyzer %temp%\export.xml > %temp%\export.csv Soubor máte v %temp% s názvem export.csv, který je možné prozkoumat v Microsoft Excelu. Tento soubor obsahuje všechny změny, které se mají exportovat.
  4. Proveďte potřebné změny dat nebo konfigurace a spusťte tyto kroky znovu (import a synchronizace a ověření), dokud se neočekávají změny, které se mají exportovat.

Principy souboru export.csv

Většina souboru je sama vysvětlující. Některé zkratky pro pochopení obsahu:

  • OMODT – Typ úpravy objektu. Označuje, jestli je operace na úrovni objektu přidání, aktualizace nebo odstranění.
  • AMODT – typ úpravy atributu. Označuje, jestli je operace na úrovni atributu přidání, aktualizace nebo odstranění.

Načtení běžných identifikátorů

Soubor export.csv obsahuje všechny změny, které se mají exportovat. Každý řádek odpovídá změně objektu v prostoru spojnice a objekt je identifikován atributem DN. Atribut DN je jedinečný identifikátor přiřazený objektu v prostoru konektoru. Pokud máte v export.csv mnoho řádků nebo změn k analýze, může být obtížné zjistit, pro které objekty se změny vztahují, na základě samotného atributu DN. Pokud chcete zjednodušit proces analýzy změn, použijte skript PowerShellu csanalyzer.ps1 . Skript načte běžné identifikátory (například displayName, userPrincipalName) objektů. Použití skriptu:

  1. Zkopírujte skript PowerShellu z oddílu CSAnalyzer do souboru s názvem csanalyzer.ps1.
  2. Otevřete okno PowerShellu a přejděte do složky, do které jste vytvořili skript PowerShellu.
  3. Spustit: .\csanalyzer.ps1 -xmltoimport %temp%\export.xml.
  4. Teď máte soubor s názvem processedusers1.csv , který je možné prozkoumat v Microsoft Excelu. Všimněte si, že soubor poskytuje mapování z atributu DN na běžné identifikátory (například displayName a userPrincipalName). V současné době nezahrnuje skutečné změny atributů, které se chystáte exportovat.

Přepnutí aktivního serveru

Microsoft Entra Connect je možné nastavit v nastavení vysoké dostupnosti typu Aktivní-pasivní, kde jeden server aktivně odesílá změny synchronizovaných objektů AD do Microsoft Entra ID a pasivní server dílčí fáze těchto změn v případě, že musí převzít.

Poznámka:

Aplikaci Microsoft Entra Connect nelze nastavit v nastavení active-active. Musí být aktivní-pasivní. Zajistěte, aby změny aktivně synchronizoval pouze server Microsoft Entra Connect 1.

Další informace o nastavení serveru Microsoft Entra Connect Sync v pracovním režimu najdete v části Pracovní režim.

Je možné, že budete muset provést převzetí služeb při selhání synchronizačních serverů z několika důvodů, jako je upgrade verze služby Microsoft Entra Connect nebo upozornění, že služba stavu synchronizační služby nedostává aktuální informace. V těchto událostech se můžete pokusit o převzetí služeb při selhání synchronizačních serverů pomocí následujících kroků.

Důležité

Přepnutí přípravného serveru do aktivního režimu může mít v synchronizaci závažný dopad, pokud nejsou splněny následující podmínky. Před provedením této operace vždy spusťte počáteční cyklus synchronizace a před provedením této operace ověřte nevyřízené exporty.

Požadavky

  • Aktuálně aktivní synchronizační server Microsoft Entra Connect
  • Jeden přípravný synchronizační server Microsoft Entra Connect
  • Pracovní server má povolený plánovač synchronizace a nedávno se synchronizoval s ID Microsoft Entra.
  • V případě jakýchkoli aktualizací v pravidlech synchronizace nebo v oboru synchronizace spusťte počáteční cyklus synchronizace.
  • Ověřte, že je váš synchronizační server Microsoft Entra Connect nakonfigurovaný tak, aby se zabránilo náhodnému odstranění.
  • Ověřte nevyřízené exporty a ověřte , že nedošlo k významným aktualizacím, a tyto aktualizace se očekávají.
  • Kontrola aktualizace agenta Microsoft Entra Connect Health na portálu Microsoft Entra Connect Health
  • Před přepnutím přípravného serveru na aktivní přepněte aktuální aktivní server do pracovního režimu.

Změna aktuálně aktivního synchronizačního serveru na pracovní režim

Musíme zajistit, aby v průběhu tohoto procesu v každém okamžiku synchronizoval změny jenom jeden synchronizační server. Pokud je aktuálně aktivní synchronizační server dostupný, můžete ho přesunout do pracovního režimu pomocí následujících kroků. Pokud není dostupný, ujistěte se, že server nebo virtuální počítač neočekávaně znovu nezíská přístup, a to buď vypnutím serveru nebo jeho izolováním od odchozích připojení.

  1. Pro aktuálně aktivní server Microsoft Entra Connect otevřete průvodce Microsoft Entra Connect a klikněte na Konfigurovat pracovní režim a pak na Další:

Snímek obrazovky znázorňující pracovní režim zvýrazněný v dialogovém okně Active Microsoft Entra Connect

  1. Budete se muset přihlásit k Microsoft Entra ID pomocí přihlašovacích údajů správce hybridní identity:

Snímek obrazovky s výzvou přihlásit se v dialogovém okně Active Microsoft Entra Connect

  1. Zaškrtněte políčko Pro pracovní režim a klikněte na Další:

Snímek obrazovky znázorňující konfiguraci pracovního režimu v dialogovém okně Active Microsoft Entra Connect

  1. Server Microsoft Entra Connect zkontroluje nainstalované součásti a potom zobrazí výzvu, jestli chcete spustit proces synchronizace po dokončení změny konfigurace:

Snímek obrazovky s obrazovkou Připraveno ke konfiguraci v dialogovém okně Active Microsoft Entra Connect

Vzhledem k tomu, že server je v pracovním režimu, nebude zapisovat změny do Microsoft Entra ID, ale zachová všechny změny v AD v prostoru konektoru, připravené k jejich zápisu. Doporučujeme ponechat proces synchronizace pro server v pracovním režimu, takže pokud se stane aktivní, bude se rychle převzít a nebude muset provést velkou synchronizaci, aby se zachytil aktuální stav objektů Active Directory / Microsoft Entra v oboru.

  1. Po výběru pro spuštění procesu synchronizace a kliknutí na Konfigurovat se server Microsoft Entra Connect nakonfiguruje do přípravného režimu. Po dokončení se zobrazí výzva s obrazovkou s potvrzením, že je pracovní režim povolený. Můžete kliknout na Ukončit a dokončit.

  2. Spuštěním Windows PowerShellu můžete ověřit, že je server úspěšně v pracovním režimu, načtěte modul ADSync a pomocí následujících příkazů ověřte konfiguraci plánovače ADSync:

Import-Module ADSync
Get-ADSyncScheduler

Ve výsledcích ověřte hodnotu nastavení StagingModeEnabled. Pokud se server úspěšně přepnul do přípravného režimu, hodnota tohoto nastavení by měla být true jako v následujícím příkladu:

Snímek obrazovky znázorňující konzolu synchronizační služby v dialogovém okně Active Microsoft Entra Connect

Změna aktuálního přípravného synchronizačního serveru na aktivní režim

V tuto chvíli by všechny naše synchronizační servery Microsoft Entra Connect měly být v pracovním režimu a neměly by exportovat změny. Náš přípravný synchronizační server teď můžeme přesunout do aktivního režimu a aktivně synchronizovat změny.

  1. Nyní přejděte na server Microsoft Entra Connect, který byl původně v pracovním režimu, a otevřete průvodce Microsoft Entra Connect.

Klikněte na Konfigurovat pracovní režim a klikněte na Další:

Snímek obrazovky znázorňující pracovní režim zvýrazněný v pracovním dialogovém okně Microsoft Entra Connect

Zpráva v dolní části průvodce indikuje, že tento server je v pracovním režimu.

  1. Přihlaste se k ID Microsoft Entra a pak přejděte na obrazovku Přípravného režimu.

Zrušte zaškrtnutí políčka pro pracovní režim a klikněte na Další.

Snímek obrazovky znázorňující konfiguraci pracovního režimu v pracovním dialogovém okně Microsoft Entra Connect

Podle upozornění na této stránce je důležité zajistit, aby se aktivně nesynchronizuje žádný jiný server Microsoft Entra Connect.

Najednou by měl existovat jenom jeden aktivní server Microsoft Entra Connect Sync.

  1. Po zobrazení výzvy ke spuštění procesu synchronizace zaškrtněte toto políčko a klikněte na Konfigurovat:

Snímek obrazovky s možností Připraveno ke konfiguraci v pracovním dialogovém okně Microsoft Entra Connect

  1. Po dokončení procesu byste měli získat následující potvrzovací obrazovku, kde můžete kliknout na Ukončit a dokončit:

Snímek obrazovky s potvrzovací obrazovkou v dialogovém okně Microsoft Entra Connect

  1. Pokud chcete ověřit, že tento proces funguje, otevřete konzolu synchronizační služby a zkontrolujte, jestli jsou spuštěné úlohy exportu:

Snímek obrazovky znázorňující konzolu synchronizační služby v pracovním dialogovém okně Microsoft Entra Connect

Zotavení po havárii

Součástí návrhu implementace je naplánovat, co dělat v případě havárie, kdy ztratíte synchronizační server. Můžete využít různé modely, a to v závislosti na několika faktorech, mezi které patří:

  • Jaká je vaše tolerance pro nemožnost provádět změny objektů v ID Microsoft Entra během výpadku?
  • Pokud využíváte synchronizaci hesel, souhlasí uživatelé s tím, že pokud změní své heslo v místním prostředí, budou muset v Microsoft Entra ID používat staré heslo?
  • Máte nějakou závislost na operacích v reálném čase, jako je zpětný zápis hesla?

V závislosti na odpovědích na tyto otázky a zásady vaší organizace je možné implementovat jednu z následujících strategií:

  • V případě potřeby znovu sestavte.
  • Máte náhradní pohotovostní server, který se označuje jako pracovní režim.
  • Používejte virtuální počítače.

Pokud nepoužíváte integrovanou databázi SQL Express, měli byste si také projít část s vysokou dostupností SQL.

Opětovné sestavení podle potřeby

V případě potřeby je realizovatelná strategie plánování opětovného sestavení serveru. Instalace synchronizačního modulu a provedení počátečního importu a synchronizace je obvykle možné dokončit během několika hodin. Pokud není k dispozici náhradní server, je možné dočasně použít řadič domény k hostování synchronizačního modulu.

Server synchronizačního stroje neukládá o objektech žádný stav, aby bylo možné databázi znovu vytvořit z dat ve službě Active Directory a v Microsoft Entra ID. Atribut sourceAnchor slouží ke spojení objektů z místního prostředí a cloudu. Pokud server znovu sestavíte s existujícími objekty místně a cloudem, synchronizační modul tyto objekty znovu spojí při přeinstalaci. Věci, které potřebujete zdokumentovat a uložit, jsou změny konfigurace provedené na serveru, například filtrování a synchronizační pravidla. Před zahájením synchronizace je nutné tyto vlastní konfigurace znovu použít.

Mít náhradní pohotovostní server – pracovní režim

Pokud máte složitější prostředí, doporučuje se mít jeden nebo více pohotovostních serverů. Během instalace můžete povolit, aby byl server v pracovním režimu.

Další informace najdete v pracovním režimu.

Použití virtuálních počítačů

Běžnou a podporovanou metodou je spuštění synchronizačního modulu na virtuálním počítači. V případě, že má hostitel problém, je možné image se serverem synchronizačního stroje migrovat na jiný server.

Vysoká dostupnost SQL

Pokud nepoužíváte SQL Server Express, který se dodává se službou Microsoft Entra Connect, měli byste zvážit také vysokou dostupnost SQL Serveru. Mezi podporovaná řešení vysoké dostupnosti patří clustering SQL a skupiny dostupnosti AlwaysOn (AOA). Nepodporovaná řešení zahrnují zrcadlení.

Podpora sql AOA byla přidána do microsoft Entra Connect ve verzi 1.1.524.0. Před instalací nástroje Microsoft Entra Connect je nutné povolit SLUŽBU SQL AOA. Během instalace microsoft Entra Connect zjistí, jestli je zadaná instance SQL povolená pro SQL AOA, nebo ne. Pokud je povolená služba SQL AOA, Microsoft Entra Connect dále zjistí, jestli je služba SQL AOA nakonfigurovaná tak, aby používala synchronní replikaci nebo asynchronní replikaci. Při nastavování naslouchacího procesu skupiny dostupnosti musí být vlastnost RegisterAllProvidersIP nastavena na hodnotu 0. Microsoft Entra Connect aktuálně používá sql Native Client pro připojení k SQL a SQL Native Client nepodporuje použití vlastnosti MultiSubNetFailover.

Příloha CSAnalyzer

Informace o použití tohoto skriptu najdete v části Věnované ověření .

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
}

Další kroky

Témata s přehledem