Microsoft Entra Connect: faseringsserver en herstel na noodgevallen
Met een server in de faseringsmodus kunt u wijzigingen aanbrengen in de configuratie en een voorbeeld van de wijzigingen bekijken voordat u de server activeert. U kunt hiermee ook een volledige import en volledige synchronisatie uitvoeren om te controleren of alle wijzigingen naar verwachting zijn voordat u deze wijzigingen in uw productieomgeving aanbrengt.
Faseringsmodus
De faseringsmodus kan worden gebruikt voor verschillende scenario's, waaronder:
- Hoge beschikbaarheid.
- Nieuwe configuratiewijzigingen testen en implementeren.
- Een nieuwe server introduceren en de oude buiten gebruik stellen.
Tijdens de installatie kunt u de server selecteren die zich in de faseringsmodus bevindt. Met deze actie wordt de server actief voor importeren en synchroniseren, maar er worden geen exports uitgevoerd. Een server in de faseringsmodus voert geen wachtwoordsynchronisatie of wachtwoord terugschrijven uit, ook niet als u deze functies tijdens de installatie hebt geselecteerd. Als u de faseringsmodus uitschakelt, begint de server met exporteren en worden wachtwoordsynchronisatie en wachtwoord terugschrijven ingeschakeld.
Notitie
Stel dat u een Microsoft Entra Connect-functie voor wachtwoord-hashsynchronisatie hebt ingeschakeld. Wanneer u de faseringsmodus inschakelt, stopt de server met het synchroniseren van wachtwoordwijzigingen vanuit on-premises AD. Wanneer u de faseringsmodus uitschakelt, hervat de server het synchroniseren van wachtwoordwijzigingen vanaf het punt waar deze de laatste keer is gestopt. Als de server gedurende een langere periode in de faseringsmodus blijft, kan het even duren voordat de server alle wachtwoordwijzigingen heeft gesynchroniseerd die zich tijdens die periode hebben voorgedaan.
U kunt nog steeds een export afdwingen met behulp van Synchronization Service Manager.
Een server in de faseringsmodus blijft wijzigingen ontvangen van Active Directory en Microsoft Entra ID en kan snel de verantwoordelijkheden van een andere server overnemen in het geval van een fout. Als u configuratiewijzigingen aan uw primaire server aanbrengt, is het uw verantwoordelijkheid om dezelfde wijzigingen aan te brengen op de server in de faseringsmodus.
Voor degenen met kennis van oudere synchronisatietechnologieën: de faseringsmodus is afwijkend, omdat de server een eigen SQL-database heeft. Met deze architectuur kan de faseringsmodusserver zich in een ander datacenter bevinden.
Configuratie van een server controleren
Voer de volgende stappen uit om deze methode toe te passen:
Voorbereiden
- Installeer Microsoft Entra Connect, selecteer de faseringsmodus en hef de selectie van de startsynchronisatie op de laatste pagina in de installatiewizard op. In deze modus kunt u de synchronisatie-engine handmatig uitvoeren.
- Meld u af en meld u opnieuw aan en selecteer in het startmenu de optie Synchronisatieservice.
Configuratie
Als u aangepaste wijzigingen hebt aangebracht aan de primaire server en de configuratie wilt vergelijken met de faseringsserver, gebruikt u microsoft Entra Connect-configuratiedocumentatiedocumentatie.
Importen en synchroniseren
- Selecteer Connectors en selecteer de eerste connector van het type Active Directory Domain Services. Klik op Uitvoeren, selecteer Volledige importbewerking en OK. Voer deze stappen uit voor alle connectors van dit type.
- Selecteer de connector met het type Microsoft Entra ID (Microsoft). Klik op Uitvoeren, selecteer Volledige importbewerking en OK.
- Zorg ervoor dat het tabblad Connectors nog steeds is geselecteerd. Klik voor elke connector van het type Active Directory Domain Services op Uitvoeren, selecteer Deltasynchronisatie en OK.
- Selecteer de connector met het type Microsoft Entra ID (Microsoft). Klik op Uitvoeren, selecteer Deltasynchronisatie en OK.
U hebt nu exportwijzigingen in Microsoft Entra ID en on-premises AD gefaseerd (als u hybride implementatie van Exchange gebruikt). Met de volgende stappen kunt u controleren wat er gaat veranderen voordat u de export naar de mappen daadwerkelijk start.
Verifiëren
- Start een cmd-prompt en ga naar
%ProgramFiles%\Microsoft Azure AD Sync\bin
- Voer het volgende uit:
csexport "Name of Connector" %temp%\export.xml /f:x
De naam van de connector vindt u in de synchronisatieservice. Het heeft een naam die lijkt op 'contoso.com – Microsoft Entra ID' voor Microsoft Entra ID. - Voer het volgende uit:
CSExportAnalyzer %temp%\export.xml > %temp%\export.csv
U hebt een bestand in %temp% met de naam export.csv dat in Microsoft Excel kan worden onderzocht. Dit bestand bevat alle wijzigingen die op het punt staan te worden geëxporteerd. - Breng eventuele noodzakelijke wijzigingen aan de gegevens of configuratie aan en voer deze stappen opnieuw uit (importeren, synchroniseren en verifiëren) totdat de wijzigingen die binnenkort worden geëxporteerd, naar wens zijn.
Informatie over het bestand export.csv
Het grootste deel van het bestand spreekt voor zich. Enkele afkortingen voor een goed begrip van de inhoud:
- OMODT: Object Modification Type (objectwijzigingstype). Geeft aan of de bewerking op objectniveau Toevoegen, Bijwerken of Verwijderen is.
- AMODT – Attribute Modification Type (kenmerkwijzigingstype). Geeft aan of de bewerking op kenmerkniveau Toevoegen, Bijwerken of Verwijderen is.
Algemene id's ophalen
Het bestand export.csv bevat alle wijzigingen die op het punt staan te worden geëxporteerd. Elke rij komt overeen met een wijziging voor een object in het connectorgebied en het object wordt door het DN-kenmerk geïdentificeerd. Het DN-kenmerk is een unieke id, die aan een object in het connectorgebied is toegewezen. Wanneer u veel rijen/wijzigingen in de export.csv moet analyseren, kan het lastig zijn om te achterhalen voor welke objecten de wijzigingen zijn bedoeld op basis van slechts het DN-kenmerk. Gebruik PowerShell-script csanalyzer.ps1
om het analyseren van de wijzigingen te vereenvoudigen. Met het script worden algemene id's (bijvoorbeeld displayName, userPrincipalName) van de objecten opgehaald. Het script gebruiken:
- Kopieer het PowerShell-script vanuit de sectie CSAnalyzer naar een bestand met de naam
csanalyzer.ps1
. - Open een PowerShell-venster en blader naar de map waarin u het PowerShell-script hebt gemaakt.
- Uitvoeren:
.\csanalyzer.ps1 -xmltoimport %temp%\export.xml
. - U hebt nu een bestand met de naam processedusers1.csv, dat in Microsoft Excel kan worden onderzocht. Het bestand bevat een toewijzing van het DN-kenmerk aan algemene id's (bijvoorbeeld displayName en userPrincipalName). Het bevat momenteel niet de werkelijke kenmerkwijzigingen die binnenkort worden geëxporteerd.
Actieve server wisselen
Microsoft Entra Connect kan worden ingesteld in een actief-passieve instelling voor hoge beschikbaarheid, waarbij één server wijzigingen actief pusht naar de gesynchroniseerde AD-objecten naar Microsoft Entra-id en de passieve server deze wijzigingen in het geval dat deze moeten worden overgenomen.
Notitie
U kunt Microsoft Entra Connect niet instellen in een actief-actief-installatie. De installatie moet Actief-Passief zijn. Zorg ervoor dat slechts 1 Microsoft Entra Connect-server wijzigingen actief synchroniseert.
Zie de faseringsmodus voor meer informatie over het instellen van een Microsoft Entra Connect Sync-server in de faseringsmodus
Mogelijk moet u om verschillende redenen een failover van de synchronisatieservers uitvoeren, zoals het upgraden van de versie van Microsoft Entra Connect of het ontvangen van een waarschuwing dat de statusservice van de synchronisatieservice geen up-to-date informatie ontvangt. In deze gevallen kunt u een failover van de synchronisatieservers uitvoeren door de onderstaande stappen uit te voeren.
Belangrijk
Het overschakelen van een faseringsserver naar de actieve modus kan ernstige gevolgen hebben in de synchronisatie als niet aan de volgende voorwaarden wordt voldaan. Als voorzorgsmaatregel voert u altijd een eerste synchronisatiecyclus uit en controleert u de in behandeling zijnde exports voordat u deze bewerking uitvoert.
Vereisten
- Eén actieve Microsoft Entra Connect-synchronisatieserver
- Eén faseringssynchronisatieserver van Microsoft Entra Connect
- De faseringsserver heeft de synchronisatieplanner ingeschakeld en is onlangs gesynchroniseerd met Microsoft Entra-id
- In het geval van updates in synchronisatieregels of synchronisatiebereik voert u een initiële synchronisatiecyclus uit
- Controleer of uw Microsoft Entra Connect-synchronisatieserver is geconfigureerd om onbedoelde verwijderingen te voorkomen
- Controleer of de export in behandeling is en controleer of er geen significante updates zijn en of dergelijke updates worden verwacht
- Controleer of de Microsoft Entra Connect Health-agent is bijgewerkt door de server in de Microsoft Entra Connect Health-portal te controleren
- Schakel de huidige actieve server over naar de faseringsmodus voordat u de faseringsserver overschakelt naar actief
De momenteel actieve synchronisatieserver in de faseringsmodus overbrengen
Zorg ervoor dat tijdens dit proces altijd slechts één synchronisatieserver wijzigingen synchroniseert. Als de momenteel actieve synchronisatieserver bereikbaar is, kunt u de onderstaande stappen uitvoeren om deze naar de faseringsmodus te verplaatsen. Als deze niet bereikbaar is, moet u ervoor zorgen dat de server of VM niet onverwacht weer toegang krijgt door de server af te sluiten of te isoleren van uitgaande verbindingen.
- Voor de momenteel actieve Microsoft Entra Connect-server opent u de wizard Microsoft Entra Connect en klikt u op Faseringsmodus configureren en vervolgens op Volgende:
- U moet zich aanmelden bij Microsoft Entra ID met de referenties van hybrid Identity Administrator:
- Schakel het selectievakje bij de faseringsmodus in en klik op Volgende:
- De Microsoft Entra Connect-server controleert op geïnstalleerde onderdelen en vraagt u vervolgens of u het synchronisatieproces wilt starten wanneer de configuratiewijziging is voltooid:
Omdat de server zich in de faseringsmodus bevindt, worden er geen wijzigingen naar Microsoft Entra-id geschreven, maar blijven wijzigingen in de AD behouden in de connectorruimte, klaar om ze te schrijven. Het is raadzaam om het synchronisatieproces voor de server in de faseringsmodus ingeschakeld te laten, dus als het actief wordt, wordt het snel overgenomen en hoeft u geen grote synchronisatie uit te voeren om de huidige status van de Active Directory-/Microsoft Entra-objecten binnen het bereik in te halen.
Nadat u het synchronisatieproces hebt gestart en op Configureren hebt geklikt, wordt de Microsoft Entra Connect-server geconfigureerd in de faseringsmodus. Zodra de faseringsmodus is voltooid, wordt u gevraagd met een scherm dat bevestigt dat de faseringsmodus is ingeschakeld. U kunt op Afsluiten klikken om te voltooien.
U kunt controleren of de server zich in de faseringsmodus bevindt door Windows PowerShell te openen, de module ADSync te laden en de configuratie van ADSync Scheduler te controleren met behulp van de volgende opdrachten:
Import-Module ADSync
Get-ADSyncScheduler
Controleer in de resultaten de waarde van de instelling StagingModeEnabled. Als de server is overgeschakeld naar de faseringsmodus, moet de waarde van deze instelling waar zijn, zoals in het onderstaande voorbeeld:
Faseringssynchronisatieserver overbrengen naar actieve modus
Op dit moment moeten al onze Microsoft Entra Connect Sync-servers zich in de faseringsmodus bevinden en geen wijzigingen exporteren. De faseringssynchronisatieserver kan naar de actieve modus worden overgebracht en er kunnen actief wijzigingen worden gesynchroniseerd.
- Ga nu naar de Microsoft Entra Connect-server die zich oorspronkelijk in de faseringsmodus bevond en open de wizard Microsoft Entra Connect.
Klik op Faseringsmodus configureren en klik op Volgende:
Het bericht onderaan de wizard geeft aan dat deze server zich in de faseringsmodus bevindt.
- Meld u aan bij Microsoft Entra ID en ga vervolgens naar het scherm Faseringsmodus.
Schakel het vakje voor de faseringsmodus uit en klik op Volgende.
Volgens de waarschuwing op deze pagina is het belangrijk om ervoor te zorgen dat er geen andere Microsoft Entra Connect-server actief wordt gesynchroniseerd.
Er mag maar één actieve Microsoft Entra Connect Sync-server op elk gewenst moment zijn.
- Wanneer u wordt gevraagd om het synchronisatieproces te starten, vinkt u dit vakje aan en klikt u op Configureren:
- Zodra het proces is voltooid, verschijnt het onderstaande bevestigingsscherm waarin u op Afsluiten kunt klikken:
- U kunt controleren of dit proces werkt door de Synchronisatieserviceconsole te openen en te controleren of exporttaken worden uitgevoerd:
Herstel na noodgeval
Onderdeel van het implementatieontwerp is om te plannen wat u moet doen voor het geval er zich een noodgeval voordoet waarbij u de synchronisatieserver kwijtraakt. Er zijn verschillende modellen die u kunt gebruiken. Welke u wilt gebruiken, is afhankelijk van verschillende factoren, waaronder:
- Wat is uw tolerantie voor het niet kunnen aanbrengen van wijzigingen in objecten in Microsoft Entra ID tijdens de downtime?
- Als u wachtwoordsynchronisatie gebruikt, accepteren de gebruikers dan dat ze het oude wachtwoord in Microsoft Entra ID moeten gebruiken voor het geval ze het on-premises wijzigen?
- Bent u afhankelijk van realtime bewerkingen, zoals wachtwoord terugschrijven?
Afhankelijk van de antwoorden op deze vragen en het beleid van de organisatie, kan een van de volgende strategieën worden geïmplementeerd:
- Herbouwen wanneer dat nodig is.
- Zorgen voor een extra stand-byserver, ook wel faseringsmodus genoemd.
- Virtuele machines gebruiken.
Als u de ingebouwde SQL Express-database niet gebruikt, moet u ook de sectie hoge beschikbaarheid van SQL bekijken.
Herbouwen wanneer dat nodig is
Het is een nuttige strategie om een server opnieuw op te bouwen, indien nodig. Normaal gesproken kan het installeren van de synchronisatie-engine en het initiële importeren en synchroniseren binnen een paar uur worden voltooid. Als er geen extra server beschikbaar is, is het mogelijk om tijdelijk een domeincontroller te gebruiken om de synchronisatie-engine te hosten.
De synchronisatie-engineserver slaat geen status op over de objecten, zodat de database opnieuw kan worden opgebouwd op basis van de gegevens in Active Directory en Microsoft Entra-id. Het kenmerk sourceAnchor wordt gebruikt om de on-premises objecten en die uit de cloud samen te voegen. Als u de server herbouwt met bestaande on-premises objecten en cloudobjecten, worden die objecten bij het opnieuw installeren door de synchronisatie-engine opnieuw met elkaar in overeenstemming gebracht. Documenteer de configuratiewijzigingen aan de server en sla deze op, bijvoorbeeld de filter- en synchronisatieregels. Deze aangepaste configuraties moeten opnieuw worden toegepast voordat u begint met synchroniseren.
Zorgen voor een extra stand-byserver - faseringsmodus
Als u een complexere omgeving hebt, wordt aangeraden om een of meer stand-byservers te hebben. Tijdens de installatie kunt u ervoor zorgen dat een server in de faseringsmodus moet worden gebracht.
Zie Faseringsmodus voor meer informatie.
Virtuele machines gebruiken
Een veelgebruikte en ondersteunde methode is het uitvoeren van de synchronisatie-engine op een virtuele machine. Als de host een probleem heeft, kan de installatiekopie met de synchronisatie-engineserver naar een andere server worden gemigreerd.
Hoge beschikbaarheid van SQL
Als u niet de SQL Server Express gebruikt die bij Microsoft Entra Connect wordt geleverd, moet u ook rekening houden met hoge beschikbaarheid voor SQL Server. De ondersteunde oplossingen voor hoge beschikbaarheid zijn onder meer het clusteren van SQL en AOA (Always On-beschikbaarheidsgroepen). Niet ondersteund wordt bijvoorbeeld spiegeling.
Ondersteuning voor SQL AOA is toegevoegd aan Microsoft Entra Connect in versie 1.1.524.0. U moet SQL AOA inschakelen voordat u Microsoft Entra Connect installeert. Tijdens de installatie detecteert Microsoft Entra Connect of het opgegeven SQL-exemplaar is ingeschakeld voor SQL AOA of niet. Als SQL AOA is ingeschakeld, wordt verder door Microsoft Entra Connect uitgelicht of SQL AOA is geconfigureerd voor het gebruik van synchrone replicatie of asynchrone replicatie. Bij het instellen van de listener voor beschikbaarheidsgroepen moet de eigenschap RegisterAllProvidersIP worden ingesteld op 0. Microsoft Entra Connect maakt momenteel gebruik van SQL Native Client om verbinding te maken met SQL en SQL Native Client biedt geen ondersteuning voor het gebruik van de eigenschap MultiSubNetFailover.
Bijlage: CSAnalyzer
Zie de sectie controleren over hoe u dit script gebruikt.
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
}
Volgende stappen
Overzichtsonderwerpen