Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przypadku serwera w trybie przejściowym można wprowadzać zmiany w konfiguracji i wyświetlać ich podgląd przed uaktywnieniem serwera. Możliwe jest również uruchamianie pełnego importu i pełnej synchronizacji, aby przed wprowadzeniem zmian do środowiska produkcyjnego sprawdzić, czy wszystkie one są zgodne z oczekiwaniami.
Tryb przejściowy
Tryb przejściowy może być używany w kilku scenariuszach, takich jak:
- Wysoka dostępność.
- Testowanie i wdrażanie nowych zmian konfiguracji.
- Wprowadzanie nowego serwera i likwidowanie starego.
Podczas instalacji można wybrać serwer, który ma być w trybie przejściowym. Ta akcja powoduje, że serwer jest aktywny do importowania i synchronizacji, ale nie uruchamia żadnych eksportów. Serwer w trybie przejściowym nie uruchamia synchronizacji haseł ani zapisywania zwrotnego haseł, nawet jeśli te funkcje zostały wybrane podczas instalacji. Po wyłączeniu trybu przejściowego serwer rozpoczyna eksportowanie, włącza synchronizację haseł i włącza zapisywanie zwrotne haseł.
Uwaga
Załóżmy, że masz włączoną funkcję microsoft Entra Connect z funkcją synchronizacji skrótów haseł. Po włączeniu trybu przejściowego serwer zatrzymuje synchronizowanie zmian haseł z lokalnej usługi AD. Po wyłączeniu trybu przejściowego serwer wznawia synchronizowanie zmian haseł z miejsca, w którym ostatnio zostało przerwane. Jeśli serwer pozostanie w trybie przejściowym przez dłuższy czas, może upłynąć pewien czas, aby serwer synchronizował wszystkie zmiany haseł, które wystąpiły w danym okresie.
Nadal można wymusić eksport przy użyciu menedżera usługi synchronizacji.
Serwer w trybie przejściowym nadal otrzymuje zmiany z usług Active Directory i Microsoft Entra ID i może szybko przejąć obowiązki innego serwera w przypadku awarii.
Dla osób zaznajomionych ze starszymi technologiami synchronizacji, tryb przejściowy różni się, ponieważ serwer ma własną bazę danych SQL. Ta architektura umożliwia umieszczenie serwera w trybie testowym w innym centrum danych.
Weryfikowanie konfiguracji serwera
Aby zastosować tę metodę, wykonaj następujące kroki:
- Przygotowywanie
- Konfiguracja
- Importowanie i synchronizowanie
- Weryfikacja
- Przełączanie aktywnego serwera
Przygotowywanie
- Zainstaluj program Microsoft Entra Connect, wybierz tryb przejściowy i usuń zaznaczenie opcji Rozpocznij synchronizację na ostatniej stronie kreatora instalacji. Ten tryb umożliwia ręczne uruchamianie aparatu synchronizacji.
- Wyloguj się/zaloguj, a następnie z menu Start wybierz pozycję Usługa synchronizacji.
Konfigurowanie
Jeśli wprowadzisz zmiany konfiguracji na serwerze podstawowym, musisz wprowadzić te same zmiany na serwerze w trybie przejściowym.
Importowanie i synchronizowanie
Wybierz pozycję Łączniki i wybierz pierwszy łącznik z typem Usługi domenowe Active Directory. Wybierz Uruchom, wybierz Pełny importi OK. Wykonaj te kroki dla wszystkich łączników tego typu.
Wybierz łącznik z typem Microsoft Entra ID (Microsoft). Wybierz Uruchom, wybierz Pełny importi OK.
Upewnij się, że karta Łączniki jest nadal zaznaczona. Dla każdego łącznika typu Active Directory Domain Services wybierz Uruchom, wybierz Delta Synchronizacja i OK. Wykonaj te kroki dla wszystkich łączników tego typu.
Wybierz łącznik z typem Microsoft Entra ID (Microsoft). Wybierz Uruchom, wybierz Delta Synchronizacjai OK.
Teraz przygotowałeś zmiany eksportu do usługi Microsoft Entra ID i lokalnej usługi AD (jeśli używasz wdrożenia hybrydowego programu Exchange). Następne kroki umożliwiają sprawdzenie, co ma się zmienić przed rozpoczęciem eksportowania do katalogów.
Weryfikacja
- Uruchom wiersz polecenia i przejdź do
%ProgramFiles%\Microsoft Azure AD Sync\bin
- Uruchom:
csexport "Name of Connector" %temp%\export.xml /f:x
nazwę łącznika można znaleźć w usłudze synchronizacji. Ma ona nazwę podobną do "contoso.com — Microsoft Entra ID" dla identyfikatora Entra firmy Microsoft. - Uruchom:
CSExportAnalyzer %temp%\export.xml > %temp%\export.csv
masz plik w %temp% o nazwie export.csv, który można zbadać w programie Microsoft Excel. Ten plik zawiera wszystkie zmiany, które mają zostać wyeksportowane. - Wprowadź niezbędne zmiany w danych lub konfiguracji i uruchom te kroki ponownie: importuj, synchronizuj i weryfikuj, aż wyeksportowane zmiany będą zgodne z oczekiwaniami.
Zrozumienie pliku export.csv
Większość pliku jest oczywista. Niektóre skróty umożliwiające zrozumienie zawartości:
- OMODT — typ modyfikacji obiektu. Wskazuje, czy operacja na poziomie obiektu to Dodaj, Aktualizuj lub Usuń.
- AMODT — typ modyfikacji atrybutu. Wskazuje, czy operacja na poziomie atrybutu jest dodawanie, aktualizowanie lub usuwanie.
Pobieranie typowych identyfikatorów
Plik export.csv zawiera wszystkie zmiany, które mają zostać wyeksportowane. Każdy wiersz odpowiada zmianie obiektu w przestrzeni łącznika, a obiekt jest identyfikowany przez atrybut DN. Atrybut DN jest unikatowym identyfikatorem przypisanym do obiektu w przestrzeni łącznika. Jeśli masz wiele wierszy lub zmian w pliku export.csv do przeanalizowania, może być trudno ustalić, do których obiektów odnoszą się zmiany, opierając się jedynie na atrybucie DN. Aby uprościć proces analizowania zmian, użyj skryptu csanalyzer.ps1
programu PowerShell. Skrypt pobiera typowe identyfikatory (na przykład displayName, userPrincipalName) obiektów. Aby użyć skryptu:
- Skopiuj skrypt programu PowerShell z sekcji CSAnalyzer do pliku o nazwie
csanalyzer.ps1
. - Otwórz okno programu PowerShell i przejdź do folderu, w którym został utworzony skrypt programu PowerShell.
- Uruchom:
.\csanalyzer.ps1 -Path %temp%\export.xml
. - Masz teraz plik lub wiele plików o nazwie
processedbatch[n].csv
(gdzie[n]
jest liczbą partii, na przykładprocessedbatch1.csv
), które można zbadać w programie Microsoft Excel. Należy pamiętać, że plik zawiera mapowanie z atrybutu DN na typowe identyfikatory (na przykład displayName i userPrincipalName). Obecnie nie zawiera rzeczywistych zmian atrybutów, które mają zostać wyeksportowane.
Przełączanie aktywnego serwera
Program Microsoft Entra Connect można skonfigurować w trybie wysokiej dostępności w układzie aktywno-pasywnym. W tej konfiguracji jeden serwer aktywnie wypycha zmiany do zsynchronizowanych obiektów usługi AD do Microsoft Entra ID, a pasywny serwer przygotowuje te zmiany na wypadek, gdyby musiał przejąć kontrolę.
Uwaga
Nie można skonfigurować programu Microsoft Entra Connect w konfiguracji Active-Active. Musi być tryb aktywno-pasywny. Upewnij się, że tylko 1 serwer Microsoft Entra Connect aktywnie synchronizuje zmiany.
Aby uzyskać więcej informacji na temat konfigurowania serwera synchronizacji Programu Microsoft Entra Connect w trybie przejściowym, zobacz tryb przejściowy
Może być konieczne przełączenie awaryjne serwerów synchronizacji z kilku powodów, takich jak uaktualnienie wersji programu Microsoft Entra Connect lub otrzymanie alertu informującego, że usługa monitorująca kondycję usługi synchronizacji nie otrzymuje bieżących informacji. W przypadku tych zdarzeń można spróbować wykonać failover serwerów synchronizacji, wykonując poniższe kroki.
Ważne
Przełączenie serwera przejściowego na tryb aktywny może mieć poważny wpływ na synchronizację, jeśli następujące warunki nie zostaną spełnione. Jako środek ostrożności należy zawsze uruchamiać początkowy cykl synchronizacji i weryfikować oczekujące eksporty przed wykonaniem tej operacji.
Wymagania wstępne
- Jeden aktualnie aktywny serwer synchronizacji Programu Microsoft Entra Connect
- Jeden przejściowy serwer microsoft Entra Connect Sync
- Serwer przejściowy ma włączony harmonogram synchronizacji i został ostatnio zsynchronizowany z identyfikatorem Entra firmy Microsoft
- W przypadku aktualizacji w regułach synchronizacji lub w zakresie synchronizacji uruchom początkowy cykl synchronizacji
- Upewnij się, że serwer synchronizacji programu Microsoft Entra Connect został skonfigurowany w celu zapobiegania przypadkowym usunięciom
- Sprawdź oczekujące eksporty i upewnij się, że nie ma znaczących aktualizacji, a takie aktualizacje są oczekiwane
- Sprawdź, czy agent programu Microsoft Entra Connect Health został zaktualizowany, sprawdzając serwer w portalu Microsoft Entra Connect Health
- Przełącz bieżący aktywny serwer do trybu przejściowego przed przełączeniem serwera przejściowego na aktywny
Zmiana aktualnie aktywnego serwera synchronizacji na tryb przejściowy
Musimy upewnić się, że tylko jeden serwer synchronizacji synchronizuje zmiany w dowolnym momencie w tym procesie. Jeśli obecnie aktywny serwer synchronizacji jest osiągalny, możesz wykonać poniższe kroki, aby przenieść go do trybu przejściowego. Jeśli nie jest dostępny, upewnij się, że serwer lub maszyna wirtualna nie odzyskają dostępu nieoczekiwanie, zamykając serwer lub izolując go od połączeń wychodzących.
- W przypadku aktualnie aktywnego serwera Microsoft Entra Connect otwórz kreatora Microsoft Entra Connect i wybierz pozycję "Konfiguruj tryb przejściowy", a następnie pozycję Dalej:
- Musisz zalogować się do usługi Microsoft Entra ID przy użyciu poświadczeń administratora tożsamości hybrydowej:
- Zaznacz pole wyboru Tryb przejściowy i wybierz opcję Dalej.
- Serwer Microsoft Entra Connect sprawdza zainstalowane składniki, a następnie monituje, czy chcesz uruchomić proces synchronizacji po zakończeniu zmiany konfiguracji:
Ponieważ serwer jest w trybie przygotowawczym, nie zapisuje zmian w Microsoft Entra ID, ale zachowuje wszelkie zmiany w usłudze AD w przestrzeni Connectora, gotowy do zapisania tych zmian. Zaleca się, aby proces synchronizacji na serwerze w Trybie Przejściowym pozostał włączony, aby gdy stanie się aktywny, szybko przejął kontrolę i nie musiał wykonywać dużej synchronizacji, aby uzyskać bieżący stan obiektów Active Directory / Microsoft Entra w zakresie.
Po wybraniu opcji , aby rozpocząć proces synchronizacji i wybraniu pozycji Konfiguruj, serwer Microsoft Entra Connect jest skonfigurowany w trybie przejściowym. Po zakończeniu zostanie wyświetlony ekran potwierdzający, że tryb Staging Mode jest włączony. Możesz wybrać opcję Zakończ, aby zakończyć działanie.
Możesz potwierdzić, że serwer jest pomyślnie w trybie przejściowym, otwierając program Windows PowerShell, ładując moduł "ADSync" i sprawdzając konfigurację harmonogramu adSync, używając następujących poleceń:
Import-Module ADSync
Get-ADSyncScheduler
Z wyników sprawdź wartość ustawienia "StagingModeEnabled". Jeśli serwer został pomyślnie przełączony do trybu przejściowego, wartość tego ustawienia powinna być true jak w poniższym przykładzie:
Zmień bieżący serwer synchronizacji przejściowej na aktywny
W tym momencie wszystkie serwery synchronizacji programu Microsoft Entra Connect powinny znajdować się w trybie przejściowym i nie eksportować zmian.
Ostrzeżenie
Przełączenie serwera Entra Connect do trybu aktywnego, gdy korzysta z zapisywania zwrotnego haseł, podczas gdy inny serwer Entra Connect jest nadal aktywny, spowoduje przerwanie komunikacji magistrali usług tamtego drugiego serwera, ponieważ tylko jeden aktywny serwer może korzystać z zapisywania zwrotnego haseł w danym momencie.
Teraz możemy przenieść nasz tymczasowy serwer synchronizacji do trybu aktywnego i aktywnie synchronizować zmiany.
- Teraz przejdź do serwera Microsoft Entra Connect, który był pierwotnie w trybie przejściowym i otwórz kreatora Microsoft Entra Connect.
Wybierz pozycję "Konfiguruj tryb przejściowy" i wybierz pozycję Dalej:
Komunikat w dolnej części kreatora wskazuje, że ten serwer jest w trybie przejściowym.
- Zaloguj się do Microsoft Entra ID, a następnie przejdź do ekranu Tryb inscenizacji.
Usuń zaznaczenie pola dla Trybu Staging i wybierz przycisk Dalej.
Zgodnie z ostrzeżeniem na tej stronie należy upewnić się, że żaden inny serwer Microsoft Entra Connect nie jest aktywnie synchronizowany.
W dowolnym momencie powinien istnieć tylko jeden aktywny serwer microsoft Entra Connect Sync.
- Po wyświetleniu monitu o rozpoczęcie procesu synchronizacji zaznacz to pole i wybierz pozycję Konfiguruj:
- Po zakończeniu procesu powinien zostać wyświetlony poniższy ekran potwierdzenia, na którym można wybrać pozycję Zakończ, aby zakończyć:
- Możesz potwierdzić, że ten proces działa, otwierając konsolę usługi synchronizacji i sprawdzając, czy są uruchomione kroki eksportowania:
Odzyskiwanie po awarii
Częścią projektu implementacji jest zaplanowanie tego, co należy zrobić w przypadku awarii, w której utracisz serwer synchronizacji. Istnieją różne modele postępowania, a wybór odpowiedniego do użycia w danym przypadku zależy od kilku czynników, takich jak:
- Jaka jest tolerancja braku możliwości wprowadzania zmian w obiektach w identyfikatorze Entra firmy Microsoft podczas przestoju?
- Jeśli korzystasz z synchronizacji haseł, czy użytkownicy akceptują fakt, że muszą używać starego hasła w Microsoft Entra ID w przypadku jego zmiany w środowisku lokalnym?
- Czy istnieje zależność od operacji w czasie rzeczywistym, takich jak zapisywanie zwrotne haseł?
W zależności od odpowiedzi na te pytania i zasady organizacji można zaimplementować jedną z następujących strategii:
- Odbuduj, gdy potrzebne.
- Ma dodatkowy serwer rezerwowy, znany jako tryb testowy.
- Użyj maszyn wirtualnych.
Jeśli nie używasz wbudowanej bazy danych SQL Express, zapoznaj się również z sekcją Wysoka dostępność SQL.
Ponowne kompilowanie w razie potrzeby
Realną strategią jest zaplanowanie ponownego kompilowania serwera w razie potrzeby. Zazwyczaj w ciągu kilku godzin można ukończyć instalację aparatu synchronizacji oraz przeprowadzenie początkowego importu i synchronizacji. Jeśli nie ma dostępnego zapasowego serwera, można tymczasowo użyć kontrolera domeny do hostowania aparatu synchronizacji.
Serwer silnika synchronizacji nie przechowuje żadnego stanu dotyczącego obiektów, dzięki czemu bazę danych można odbudować na podstawie danych z usług Active Directory oraz Microsoft Entra ID. Atrybut sourceAnchor służy do łączenia obiektów ze środowiska lokalnego i chmury. Jeśli ponownie skompilujesz serwer z istniejącymi obiektami lokalnymi i chmurowymi, mechanizm synchronizacji podczas ponownej instalacji ponownie dopasuje te obiekty. Czynności, które należy udokumentować i zapisać, to zmiany konfiguracji wprowadzone na serwerze, takie jak reguły filtrowania i synchronizacji. Przed rozpoczęciem synchronizacji należy ponownie zastosować te konfiguracje niestandardowe.
Możesz również odtworzyć serwer przy użyciu metody importu i eksportu konfiguracji programu Microsoft Entra Connect, dlatego upewnij się, że masz kopię zapasową eksportu konfiguracji serwera up-to-date.
Posiadanie zapasowego serwera rezerwowego — tryb przejściowy
Jeśli masz bardziej złożone środowisko, zalecane jest posiadanie co najmniej jednego serwera rezerwowego. Podczas instalacji można włączyć serwer w trybie przejściowym.
Aby uzyskać więcej informacji, zobacz tryb przejściowy.
Korzystanie z maszyn wirtualnych
Typową i obsługiwaną metodą jest uruchomienie aparatu synchronizacji na maszynie wirtualnej. W przypadku problemu z hostem, obraz serwera z silnikiem synchronizacji można przenieść na inny serwer.
Wysoka dostępność sql
Jeśli nie korzystasz z SQL Server Express, który jest dostarczany z Microsoft Entra Connect, należy również rozważyć wysoką dostępność dla SQL Server. Obsługiwane rozwiązania wysokiej dostępności obejmują klastrowanie SQL oraz AOA (Zawsze włączone grupy dostępności). Nieobsługiwane rozwiązania obejmują replikację.
Dodano obsługę usługi SQL AOA do programu Microsoft Entra Connect w wersji 1.1.524.0. Przed zainstalowaniem programu Microsoft Entra Connect należy włączyć usługę SQL AOA. Podczas instalacji program Microsoft Entra Connect wykrywa, czy udostępnione wystąpienie SQL jest włączone dla usługi SQL AOA, czy nie. Jeśli usługa SQL AOA jest włączona, program Microsoft Entra Connect dodatkowo dowie się, czy usługa SQL AOA jest skonfigurowana do używania replikacji synchronicznej lub replikacji asynchronicznej. Podczas konfigurowania odbiornika grupy dostępności właściwość RegisterAllProvidersIP musi być ustawiona na 0. Program Microsoft Entra Connect obecnie używa Klienta Natywnego SQL do nawiązywania połączenia z bazą danych SQL, a Klient Natywny SQL nie obsługuje funkcji MultiSubNetFailover.
Dodatek CSAnalyzer
Zobacz sekcję zweryfikuj , jak używać tego skryptu.
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 processedbatch${outputfilecount}.csv -ForegroundColor Yellow
$objOutputUsers | Export-Csv -path processedbatch${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 processedbatch${outputfilecount}.csv -ForegroundColor Yellow
$objOutputUsers | Export-Csv -path processedbatch${outputfilecount}.csv -NoTypeInformation
}
else
{
Write-Host "Imported XML file is empty. No work to do." -ForegroundColor Red
}
Następne kroki
Tematy przeglądowe