Rozwiązywanie problemów z synchronizacją skrótów haseł za pomocą usługi synchronizacji programu Microsoft Entra Connect

Ten temat zawiera kroki rozwiązywania problemów z synchronizacją skrótów haseł. Jeśli hasła nie są synchronizowane zgodnie z oczekiwaniami, może to być zarówno dla podzbioru użytkowników, jak i dla wszystkich użytkowników.

W przypadku wdrożenia usługi Microsoft Entra Połączenie w wersji 1.1.614.0 lub nowszej użyj zadania rozwiązywania problemów w kreatorze, aby rozwiązać problemy z synchronizacją skrótów haseł:

W przypadku wdrożenia w wersji 1.1.524.0 lub nowszej istnieje polecenie cmdlet diagnostyczne, którego można użyć do rozwiązywania problemów z synchronizacją skrótów haseł:

W przypadku starszych wersji wdrożenia Połączenie firmy Microsoft:

Hasła nie są synchronizowane: rozwiązywanie problemów przy użyciu zadania rozwiązywania problemów

Możesz użyć zadania rozwiązywania problemów, aby dowiedzieć się, dlaczego żadne hasła nie są synchronizowane.

Uwaga

Zadanie rozwiązywania problemów jest dostępne tylko dla firmy Microsoft Entra Połączenie w wersji 1.1.614.0 lub nowszej.

Uruchamianie zadania rozwiązywania problemów

Aby rozwiązać problemy, gdy żadne hasła nie są synchronizowane:

  1. Otwórz nową sesję programu Windows PowerShell na serwerze Microsoft Entra Połączenie z opcją Uruchom jako Administracja istrator.

  2. Uruchom polecenie Set-ExecutionPolicy RemoteSigned lub Set-ExecutionPolicy Unrestricted.

  3. Uruchom kreatora Połączenie firmy Microsoft.

  4. Przejdź do strony Dodatkowe zadania , wybierz pozycję Rozwiązywanie problemów, a następnie kliknij przycisk Dalej.

  5. Na stronie Rozwiązywanie problemów kliknij pozycję Uruchom , aby uruchomić menu rozwiązywania problemów w programie PowerShell.

  6. W menu głównym wybierz pozycję Rozwiązywanie problemów z synchronizacją skrótów haseł.

  7. W menu podrzędnym wybierz pozycję Synchronizacja skrótów haseł w ogóle nie działa.

Omówienie wyników zadania rozwiązywania problemów

Zadanie rozwiązywania problemów wykonuje następujące testy:

  • Sprawdza, czy funkcja synchronizacji skrótów haseł jest włączona dla dzierżawy firmy Microsoft Entra.

  • Sprawdza, czy serwer Microsoft Entra Połączenie nie jest w trybie przejściowym.

  • Dla każdego istniejącego łącznika lokalna usługa Active Directory (który odpowiada istniejącemu lasowi usługi Active Directory):

    • Sprawdza, czy funkcja synchronizacji skrótów haseł jest włączona.

    • Wyszukuje zdarzenia pulsu synchronizacji skrótów haseł w dziennikach zdarzeń aplikacji systemu Windows.

    • Dla każdej domeny usługi Active Directory w łączniku lokalna usługa Active Directory:

      • Sprawdza, czy domena jest osiągalna z serwera Microsoft Entra Połączenie.

      • Sprawdza, czy konta usług domena usługi Active Directory (AD DS) używane przez łącznik lokalna usługa Active Directory mają poprawną nazwę użytkownika, hasło i uprawnienia wymagane do synchronizacji skrótów haseł.

Na poniższym diagramie przedstawiono wyniki polecenia cmdlet dla jednej domeny, lokalna usługa Active Directory topologii:

Diagnostic output for password hash synchronization

W pozostałej części tej sekcji opisano konkretne wyniki zwracane przez zadanie i odpowiednie problemy.

Funkcja synchronizacji skrótów haseł nie jest włączona

Jeśli synchronizacja skrótów haseł nie została włączona przy użyciu kreatora microsoft Entra Połączenie, zwracany jest następujący błąd:

password hash synchronization isn't enabled

Serwer Microsoft Entra Połączenie jest w trybie przejściowym

Jeśli serwer Microsoft Entra Połączenie jest w trybie przejściowym, synchronizacja skrótów haseł jest tymczasowo wyłączona, a zwracany jest następujący błąd:

Microsoft Entra Connect server is in staging mode

Brak zdarzeń pulsu synchronizacji skrótów haseł

Każdy łącznik lokalna usługa Active Directory ma własny kanał synchronizacji skrótów haseł. Po ustanowieniu kanału synchronizacji skrótów haseł i nie ma żadnych zmian haseł do zsynchronizowania, zdarzenie pulsu (EventId 654) jest generowane raz na 30 minut w dzienniku zdarzeń aplikacji systemu Windows. Dla każdego łącznika lokalna usługa Active Directory polecenie cmdlet wyszukuje odpowiednie zdarzenia pulsu w ciągu ostatnich trzech godzin. Jeśli nie zostanie znalezione żadne zdarzenie pulsu, zostanie zwrócony następujący błąd:

No password hash synchronization heart beat event

Konto usług AD DS nie ma poprawnych uprawnień

Jeśli konto usług AD DS używane przez łącznik lokalna usługa Active Directory do synchronizowania skrótów haseł nie ma odpowiednich uprawnień, zwracany jest następujący błąd:

Screenshot that shows the error that's returned when the AD DS account has an incorrect username or password.

Nieprawidłowa nazwa użytkownika lub hasło konta usług AD DS

Jeśli konto usług AD DS używane przez łącznik lokalna usługa Active Directory do synchronizowania skrótów haseł ma nieprawidłową nazwę użytkownika lub hasło, zwracany jest następujący błąd:

Incorrect credential

Jeden obiekt nie synchronizuje haseł: rozwiązywanie problemów przy użyciu zadania rozwiązywania problemów

Za pomocą zadania rozwiązywania problemów można określić, dlaczego jeden obiekt nie synchronizuje haseł.

Uwaga

Zadanie rozwiązywania problemów jest dostępne tylko dla firmy Microsoft Entra Połączenie w wersji 1.1.614.0 lub nowszej.

Uruchamianie polecenia cmdlet diagnostyki

Aby rozwiązać problemy dotyczące określonego obiektu użytkownika:

  1. Otwórz nową sesję programu Windows PowerShell na serwerze Microsoft Entra Połączenie z opcją Uruchom jako Administracja istrator.

  2. Uruchom polecenie Set-ExecutionPolicy RemoteSigned lub Set-ExecutionPolicy Unrestricted.

  3. Uruchom kreatora Połączenie firmy Microsoft.

  4. Przejdź do strony Dodatkowe zadania , wybierz pozycję Rozwiązywanie problemów, a następnie kliknij przycisk Dalej.

  5. Na stronie Rozwiązywanie problemów kliknij pozycję Uruchom , aby uruchomić menu rozwiązywania problemów w programie PowerShell.

  6. W menu głównym wybierz pozycję Rozwiązywanie problemów z synchronizacją skrótów haseł.

  7. W menu podrzędnym wybierz pozycję Hasło nie jest synchronizowane dla określonego konta użytkownika.

Omówienie wyników zadania rozwiązywania problemów

Zadanie rozwiązywania problemów wykonuje następujące testy:

  • Sprawdza stan obiektu usługi Active Directory w przestrzeni łącznika usługi Active Directory, metaverse i przestrzeni łącznika Microsoft Entra.

  • Sprawdza, czy istnieją reguły synchronizacji z włączoną synchronizacją skrótów haseł i zastosowane do obiektu usługi Active Directory.

  • Próbuje pobrać i wyświetlić wyniki ostatniej próby zsynchronizowania hasła dla obiektu.

Na poniższym diagramie przedstawiono wyniki polecenia cmdlet podczas rozwiązywania problemów z synchronizacją skrótów haseł dla pojedynczego obiektu:

Diagnostic output for password hash synchronization - single object

W pozostałej części tej sekcji opisano konkretne wyniki zwrócone przez polecenie cmdlet i odpowiednie problemy.

Obiekt usługi Active Directory nie jest eksportowany do identyfikatora Entra firmy Microsoft

Synchronizacja skrótów haseł dla tego konta lokalna usługa Active Directory kończy się niepowodzeniem, ponieważ w dzierżawie firmy Microsoft nie ma odpowiedniego obiektu. Zwracany jest następujący błąd:

Microsoft Entra object is missing

Użytkownik ma hasło tymczasowe

Starsze wersje usługi Microsoft Entra Połączenie nie obsługiwały synchronizowania haseł tymczasowych z identyfikatorem Entra firmy Microsoft. Hasło jest uznawane za tymczasowe, jeśli opcja Zmień hasło przy następnym logowaniu jest ustawiona na użytkownika lokalna usługa Active Directory. Zwracany jest następujący błąd z następującymi starszymi wersjami:

Temporary password is not exported

Aby włączyć synchronizację haseł tymczasowych, musisz mieć zainstalowany program Microsoft Entra Połączenie w wersji 2.0.3.0 lub nowszej, a funkcja ForcePasswordChangeOnLogon musi być włączona.

Wyniki ostatniej próby zsynchronizowania hasła nie są dostępne

Domyślnie firma Microsoft Entra Połączenie przechowuje wyniki prób synchronizacji skrótów haseł przez siedem dni. Jeśli nie ma dostępnych wyników dla wybranego obiektu usługi Active Directory, zwracane jest następujące ostrzeżenie:

Diagnostic output for single object - no password sync history

Hasła nie są synchronizowane: rozwiązywanie problemów przy użyciu polecenia cmdlet diagnostyki

Możesz użyć Invoke-ADSyncDiagnostics polecenia cmdlet , aby dowiedzieć się, dlaczego żadne hasła nie są synchronizowane.

Uwaga

Polecenie Invoke-ADSyncDiagnostics cmdlet jest dostępne tylko dla programu Microsoft Entra Połączenie w wersji 1.1.524.0 lub nowszej.

Uruchamianie polecenia cmdlet diagnostyki

Aby rozwiązać problemy, gdy żadne hasła nie są synchronizowane:

  1. Otwórz nową sesję programu Windows PowerShell na serwerze Microsoft Entra Połączenie z opcją Uruchom jako Administracja istrator.

  2. Uruchom polecenie Set-ExecutionPolicy RemoteSigned lub Set-ExecutionPolicy Unrestricted.

  3. Uruchom polecenie Import-Module ADSyncDiagnostics.

  4. Uruchom polecenie Invoke-ADSyncDiagnostics -PasswordSync.

Jeden obiekt nie synchronizuje haseł: rozwiązywanie problemów przy użyciu polecenia cmdlet diagnostyki

Za pomocą Invoke-ADSyncDiagnostics polecenia cmdlet można określić, dlaczego jeden obiekt nie synchronizuje haseł.

Uwaga

Polecenie Invoke-ADSyncDiagnostics cmdlet jest dostępne tylko dla programu Microsoft Entra Połączenie w wersji 1.1.524.0 lub nowszej.

Uruchamianie polecenia cmdlet diagnostyki

Aby rozwiązać problemy polegające na tym, że żadne hasła nie są synchronizowane dla użytkownika:

  1. Otwórz nową sesję programu Windows PowerShell na serwerze Microsoft Entra Połączenie z opcją Uruchom jako Administracja istrator.

  2. Uruchom polecenie Set-ExecutionPolicy RemoteSigned lub Set-ExecutionPolicy Unrestricted.

  3. Uruchom program Import-Module ADSyncDiagnostics.

  4. Uruchom następujące polecenie cmdlet:

    Invoke-ADSyncDiagnostics -PasswordSync -ADConnectorName <Name-of-AD-Connector> -DistinguishedName <DistinguishedName-of-AD-object>
    

    Na przykład:

    Invoke-ADSyncDiagnostics -PasswordSync -ADConnectorName "contoso.com" -DistinguishedName "CN=TestUserCN=Users,DC=contoso,DC=com"
    

Hasła nie są synchronizowane: kroki ręcznego rozwiązywania problemów

Wykonaj następujące kroki, aby określić, dlaczego żadne hasła nie są synchronizowane:

  1. Czy serwer Połączenie jest w trybie przejściowym? Serwer w trybie przejściowym nie synchronizuje żadnych haseł.

  2. Uruchom skrypt w sekcji Pobieranie stanu ustawień synchronizacji haseł. Zawiera on omówienie konfiguracji synchronizacji haseł.

    PowerShell script output from password sync settings

  3. Jeśli funkcja nie jest włączona w identyfikatorze Entra firmy Microsoft lub jeśli stan kanału synchronizacji nie jest włączony, uruchom kreatora instalacji Połączenie. Wybierz pozycję Dostosuj opcje synchronizacji i usuń zaznaczenie opcji synchronizacji haseł. Ta zmiana tymczasowo wyłącza funkcję. Następnie ponownie uruchom kreatora i ponownie włącz synchronizację haseł. Uruchom ponownie skrypt, aby sprawdzić, czy konfiguracja jest poprawna.

  4. Poszukaj w dzienniku zdarzeń pod kątem błędów. Poszukaj następujących zdarzeń, które wskazują na problem:

    • Źródło: "Synchronizacja katalogów" ID: 0, 611, 652, 655 Jeśli widzisz te zdarzenia, masz problem z łącznością. Komunikat dziennika zdarzeń zawiera informacje o lesie, w których występuje problem.
  5. Jeśli nie widzisz pulsu lub jeśli nic innego nie zadziałało, uruchom polecenie Wyzwól pełną synchronizację wszystkich haseł. Uruchom skrypt tylko raz.

  6. Zobacz sekcję Rozwiązywanie problemów z jednym obiektem, który nie synchronizuje haseł.

problemy z Połączenie ivity

Czy masz łączność z identyfikatorem Entra firmy Microsoft?

Czy konto ma wymagane uprawnienia do odczytywania skrótów haseł we wszystkich domenach? Jeśli zainstalowano Połączenie przy użyciu ustawień ekspresowych, uprawnienia powinny być już poprawne.

Jeśli użyto instalacji niestandardowej, ustaw uprawnienia ręcznie, wykonując następujące czynności:

  1. Aby znaleźć konto używane przez łącznik usługi Active Directory, uruchom program Synchronization Service Manager.

  2. Przejdź do Połączenie orów, a następnie wyszukaj las lokalna usługa Active Directory, który rozwiązujesz.

  3. Wybierz łącznik, a następnie kliknij pozycję Właściwości.

  4. Przejdź do Połączenie do lasu usługi Active Directory.

    Account used by Active Directory connector
    Zanotuj nazwę użytkownika i domenę, w której znajduje się konto.

  5. Uruchom Użytkownicy i komputery usługi Active Directory, a następnie sprawdź, czy znalezione wcześniej konto ma następujące uprawnienia ustawione w katalogu głównym wszystkich domen w lesie:

    • Replikacja zmian katalogów
    • Replikacja wszystkich zmian katalogów
  6. Czy kontrolery domeny są osiągalne przez firmę Microsoft Entra Połączenie? Jeśli serwer Połączenie nie może nawiązać połączenia ze wszystkimi kontrolerami domeny, skonfiguruj tylko preferowany kontroler domeny.

    Domain controller used by Active Directory connector

  7. Wróć do menedżera usług synchronizacji i skonfiguruj partycję katalogu.

  8. Zaznacz domenę w obszarze Wybierz partycje katalogów, zaznacz pole wyboru Użyj tylko preferowanych kontrolerów domeny, a następnie kliknij przycisk Konfiguruj.

  9. Na liście wprowadź kontrolery domeny, które Połączenie powinny być używane do synchronizacji haseł. Ta sama lista jest również używana do importowania i eksportowania. Wykonaj te kroki dla wszystkich domen.

Uwaga

Aby zastosować te zmiany, uruchom ponownie usługę Microsoft Entra ID Sync (ADSync).

  1. Jeśli skrypt pokazuje, że nie ma pulsu, uruchom skrypt w obszarze Wyzwalaj pełną synchronizację wszystkich haseł.

Jeden obiekt nie synchronizuje haseł: kroki ręcznego rozwiązywania problemów

Możesz łatwo rozwiązywać problemy z synchronizacją skrótów haseł, przeglądając stan obiektu.

  1. W Użytkownicy i komputery usługi Active Directory wyszukaj użytkownika, a następnie sprawdź, czy pole wyboru Użytkownik musi zmienić hasło przy następnym logowaniu.

    Active Directory productive passwords

    Jeśli pole wyboru jest zaznaczone, poproś użytkownika o zalogowanie się i zmianę hasła. Hasła tymczasowe nie są synchronizowane z identyfikatorem Entra firmy Microsoft.

  2. Jeśli hasło wygląda poprawnie w usłudze Active Directory, postępuj zgodnie z instrukcjami użytkownika w a aparatu synchronizacji. Postępując zgodnie z instrukcjami użytkownika z lokalna usługa Active Directory do identyfikatora Entra firmy Microsoft, możesz sprawdzić, czy w obiekcie występuje opisowy błąd.

    a. Uruchom program Synchronization Service Manager.

    b. Kliknij pozycję Połączenie ors.

    c. Wybierz Połączenie or usługi Active Directory, w którym znajduje się użytkownik.

    d. Wybierz pozycję Wyszukaj Połączenie or Spacja.

    e. W polu Zakres wybierz pozycję DN lub Anchor, a następnie wprowadź pełną nazwę wyróżniającą użytkownika, którego rozwiązujesz.

    Search for user in connector space with DN

    f. Znajdź szukanego użytkownika, a następnie kliknij pozycję Właściwości , aby wyświetlić wszystkie atrybuty. Jeśli użytkownik nie znajduje się w wynikach wyszukiwania, zweryfikuj reguły filtrowania i upewnij się, że uruchomisz polecenie Zastosuj i sprawdź, czy zmiany mają być wyświetlane w Połączenie.

    g. Aby wyświetlić szczegóły synchronizacji haseł obiektu w ciągu ostatniego tygodnia, kliknij pozycję Dziennik.

    Object log details

    Jeśli dziennik obiektów jest pusty, firma Microsoft Entra Połączenie nie może odczytać skrótu hasła z usługi Active Directory. Kontynuuj rozwiązywanie problemów z błędami Połączenie ivity. Jeśli widzisz inną wartość niż powodzenie, zapoznaj się z tabelą w dzienniku synchronizacji haseł.

    h. Wybierz kartę pochodzenie i upewnij się, że co najmniej jedna reguła synchronizacji w kolumnie PasswordSync ma wartość True. W konfiguracji domyślnej nazwa reguły synchronizacji to In z usługi AD — User AccountEnabled.

    Lineage information about a user

    i. Kliknij pozycję Metaverse Object Properties (Właściwości obiektu Metaverse), aby wyświetlić listę atrybutów użytkownika.

    Screenshot that shows the list of user attributes for the Metaverse Object Properties.

    Sprawdź, czy nie ma atrybutu cloudFiltered . Upewnij się, że atrybuty domeny (domainFQDN i domainNetBios) mają oczekiwane wartości.

    j. Kliknij kartę Połączenie ors. Upewnij się, że łączniki są widoczne zarówno dla lokalna usługa Active Directory, jak i identyfikatora Entra firmy Microsoft.

    Metaverse information

    k. Wybierz wiersz reprezentujący identyfikator Entra firmy Microsoft, kliknij pozycję Właściwości, a następnie kliknij kartę Pochodzenie . Obiekt obszaru łącznika powinien mieć regułę ruchu wychodzącego w kolumnie PasswordSync ustawioną na true. W domyślnej konfiguracji nazwa reguły synchronizacji to Out to Microsoft Entra ID — User Join.

    Connector Space Object Properties dialog box

Dziennik synchronizacji haseł

Kolumna stanu może mieć następujące wartości:

Stan opis
Sukces Hasło zostało pomyślnie zsynchronizowane.
FilteredByTarget Hasło jest ustawione na Wartość Użytkownik musi zmienić hasło przy następnym logowaniu. Hasło nie zostało zsynchronizowane.
NoTarget Połączenie ion Brak obiektu w metaverse ani w przestrzeni łącznika Microsoft Entra.
Źródło Połączenie orNotPresent Nie znaleziono obiektu w przestrzeni łącznika lokalna usługa Active Directory.
TargetNotExportedToDirectory Obiekt w przestrzeni łącznika Microsoft Entra nie został jeszcze wyeksportowany.
MigratedCheckDetailsForMoreInfo Wpis dziennika został utworzony przed kompilacją 1.0.9125.0 i jest wyświetlany w jego starszym stanie.
Błąd Usługa zwróciła nieznany błąd.
Nieznane Wystąpił błąd podczas próby przetworzenia partii skrótów haseł.
MissingAttribute Określone atrybuty (na przykład skrót Kerberos) wymagane przez usługi Microsoft Entra Domain Services nie są dostępne.
RetryRequestedByTarget Określone atrybuty (na przykład skrót Kerberos) wymagane przez usługi Microsoft Entra Domain Services nie były wcześniej dostępne. Podjęto próbę ponownego zsynchronizowania skrótu hasła użytkownika.

Skrypty ułatwiające rozwiązywanie problemów

Pobieranie stanu ustawień synchronizacji haseł

Import-Module ADSync
$connectors = Get-ADSyncConnector
$aadConnectors = $connectors | Where-Object {$_.SubType -eq "Windows Azure Active Directory (Microsoft)"}
$adConnectors = $connectors | Where-Object {$_.ConnectorTypeName -eq "AD"}
if ($aadConnectors -ne $null -and $adConnectors -ne $null)
{
    if ($aadConnectors.Count -eq 1)
    {
        $features = Get-ADSyncAADCompanyFeature
        Write-Host
        Write-Host "Password sync feature enabled in your Azure AD directory: "  $features.PasswordHashSync
        foreach ($adConnector in $adConnectors)
        {
            Write-Host
            Write-Host "Password sync channel status BEGIN ------------------------------------------------------- "
            Write-Host
            Get-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector.Name
            Write-Host
            $pingEvents =
                Get-EventLog -LogName "Application" -Source "Directory Synchronization" -InstanceId 654  -After (Get-Date).AddHours(-3) |
                    Where-Object { $_.Message.ToUpperInvariant().Contains($adConnector.Identifier.ToString("D").ToUpperInvariant()) } |
                    Sort-Object { $_.Time } -Descending
            if ($pingEvents -ne $null)
            {
                Write-Host "Latest heart beat event (within last 3 hours). Time " $pingEvents[0].TimeWritten
            }
            else
            {
                Write-Warning "No ping event found within last 3 hours."
            }
            Write-Host
            Write-Host "Password sync channel status END ------------------------------------------------------- "
            Write-Host
        }
    }
    else
    {
        Write-Warning "More than one Azure AD Connectors found. Please update the script to use the appropriate Connector."
    }
}
Write-Host
if ($aadConnectors -eq $null)
{
    Write-Warning "No Azure AD Connector was found."
}
if ($adConnectors -eq $null)
{
    Write-Warning "No AD DS Connector was found."
}
Write-Host

Wyzwalanie pełnej synchronizacji wszystkich haseł

Uwaga

Uruchom ten skrypt tylko raz. Jeśli musisz uruchomić go więcej niż raz, coś innego jest problemem. Aby rozwiązać ten problem, skontaktuj się z pomocą techniczną firmy Microsoft.

Pełną synchronizację wszystkich haseł można wyzwolić przy użyciu następującego skryptu:

$adConnector = "<CASE SENSITIVE AD CONNECTOR NAME>"
$aadConnector = "<CASE SENSITIVE AAD CONNECTOR NAME>"
Import-Module adsync
$c = Get-ADSyncConnector -Name $adConnector
$p = New-Object Microsoft.IdentityManagement.PowerShell.ObjectModel.ConfigurationParameter "Microsoft.Synchronize.ForceFullPasswordSync", String, ConnectorGlobal, $null, $null, $null
$p.Value = 1
$c.GlobalParameters.Remove($p.Name)
$c.GlobalParameters.Add($p)
$c = Add-ADSyncConnector -Connector $c
Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $false
Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $true

Następne kroki