Felsöka synkronisering av lösenordshash med Azure AD Connect-synkronisering

Det här avsnittet innehåller steg för att felsöka problem med synkronisering av lösenordshash. Om lösenord inte synkroniseras som förväntat kan det antingen vara för en delmängd av användare eller för alla användare.

För Azure Active Directory (Azure AD) Anslut distribution med version 1.1.614.0 eller senare använder du felsökningsuppgiften i guiden för att felsöka problem med synkronisering av lösenordshash:

För distribution med version 1.1.524.0 eller senare finns det en diagnostisk cmdlet som du kan använda för att felsöka problem med synkronisering av lösenordshash:

För äldre versioner av Azure AD Anslut distribution:

Inga lösenord synkroniseras: felsök med hjälp av felsökningsuppgiften

Du kan använda felsökningsuppgiften för att ta reda på varför inga lösenord synkroniseras.

Anteckning

Felsökningsaktiviteten är endast tillgänglig för Azure AD Anslut version 1.1.614.0 eller senare.

Köra felsökningsuppgiften

Så här felsöker du problem där inga lösenord synkroniseras:

  1. Öppna en ny Windows PowerShell session på Azure AD Anslut-servern med alternativet Kör som administratör.

  2. Kör Set-ExecutionPolicy RemoteSigned eller Set-ExecutionPolicy Unrestricted.

  3. Starta guiden Azure AD Anslut.

  4. Gå till sidan Ytterligare uppgifter , välj Felsök och klicka på Nästa.

  5. På sidan Felsökning klickar du på Starta för att starta felsökningsmenyn i PowerShell.

  6. På huvudmenyn väljer du Felsöka synkronisering av lösenordshash.

  7. I undermenyn väljer du Synkronisering av lösenordshash fungerar inte alls.

Förstå resultatet av felsökningsaktiviteten

Felsökningsuppgiften utför följande kontroller:

  • Verifierar att funktionen för synkronisering av lösenordshash är aktiverad för din Azure AD-klientorganisation.

  • Verifierar att Azure AD-Anslut-servern inte är i mellanlagringsläge.

  • För varje befintlig lokal Active Directory anslutningsprogram (som motsvarar en befintlig Active Directory-skog):

    • Verifierar att funktionen för synkronisering av lösenordshash är aktiverad.

    • Söker efter pulsslagshändelser för synkronisering av lösenordshash i händelseloggarna för Windows-program.

    • För varje Active Directory-domän under lokal Active Directory-anslutningsappen:

      • Verifierar att domänen kan nås från Azure AD Anslut-servern.

      • Verifierar att de Active Directory Domain Services-konton (AD DS) som används av lokal Active Directory-anslutningstjänsten har rätt användarnamn, lösenord och behörigheter som krävs för synkronisering av lösenordshash.

Följande diagram illustrerar resultatet av cmdleten för en topologi med en domän lokal Active Directory:

Diagnostic output for password hash synchronization

Resten av det här avsnittet beskriver specifika resultat som returneras av uppgiften och motsvarande problem.

synkroniseringsfunktionen för lösenordshash är inte aktiverad

Om du inte har aktiverat synkronisering av lösenordshash med hjälp av Azure AD Anslut-guiden returneras följande fel:

password hash synchronization isn't enabled

Azure AD Anslut-servern är i mellanlagringsläge

Om Azure AD Anslut-servern är i mellanlagringsläge inaktiveras synkronisering av lösenordshash tillfälligt och följande fel returneras:

Azure AD Connect server is in staging mode

Inga pulsslagshändelser för synkronisering av lösenordshash

Varje lokal Active Directory-anslutningsappen har en egen synkroniseringskanal för lösenordshash. När synkroniseringskanalen för lösenordshash har upprättats och inga lösenordsändringar ska synkroniseras genereras en pulsslagshändelse (EventId 654) var 30:e minut under Windows programhändelselogg. För varje lokal Active Directory-anslutningsapp söker cmdleten efter motsvarande pulsslagshändelser under de senaste tre timmarna. Om ingen pulsslagshändelse hittas returneras följande fel:

No password hash synchronization heart beat event

AD DS-kontot har inte rätt behörigheter

Om AD DS-kontot som används av lokal Active Directory-anslutningstjänsten för att synkronisera lösenordshashvärden inte har rätt behörigheter returneras följande fel:

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

Felaktigt användarnamn eller lösenord för AD DS-konto

Om AD DS-kontot som används av lokal Active Directory-anslutningsprogrammet för att synkronisera lösenordshashvärden har ett felaktigt användarnamn eller lösenord returneras följande fel:

Incorrect credential

Ett objekt synkroniserar inte lösenord: felsök med hjälp av felsökningsuppgiften

Du kan använda felsökningsaktiviteten för att avgöra varför ett objekt inte synkroniserar lösenord.

Anteckning

Felsökningsaktiviteten är endast tillgänglig för Azure AD Anslut version 1.1.614.0 eller senare.

Köra diagnostik-cmdleten

Så här felsöker du problem för ett specifikt användarobjekt:

  1. Öppna en ny Windows PowerShell session på Azure AD Anslut-servern med alternativet Kör som administratör.

  2. Kör Set-ExecutionPolicy RemoteSigned eller Set-ExecutionPolicy Unrestricted.

  3. Starta guiden Azure AD Anslut.

  4. Gå till sidan Ytterligare uppgifter , välj Felsök och klicka på Nästa.

  5. På sidan Felsökning klickar du på Starta för att starta felsökningsmenyn i PowerShell.

  6. På huvudmenyn väljer du Felsöka synkronisering av lösenordshash.

  7. I undermenyn väljer du Lösenord synkroniseras inte för ett specifikt användarkonto.

Förstå resultatet av felsökningsaktiviteten

Felsökningsuppgiften utför följande kontroller:

  • Undersöker tillståndet för Active Directory-objektet i active directory-anslutningsutrymmet, metaversum- och Azure AD-anslutningsutrymmet.

  • Verifierar att synkroniseringsregler med synkronisering av lösenordshash har aktiverats och tillämpats på Active Directory-objektet.

  • Försöker hämta och visa resultatet av det senaste försöket att synkronisera lösenordet för objektet.

Följande diagram illustrerar resultatet av cmdleten vid felsökning av synkronisering av lösenordshash för ett enskilt objekt:

Diagnostic output for password hash synchronization - single object

Resten av det här avsnittet beskriver specifika resultat som returneras av cmdleten och motsvarande problem.

Active Directory-objektet exporteras inte till Azure AD

synkronisering av lösenordshash för det här lokal Active Directory-kontot misslyckas eftersom det inte finns något motsvarande objekt i Azure AD-klientorganisationen. Följande fel returneras:

Azure AD object is missing

Användaren har ett tillfälligt lösenord

Azure AD Anslut stöder för närvarande inte synkronisering av tillfälliga lösenord med Azure AD. Ett lösenord anses vara tillfälligt om alternativet Ändra lösenord vid nästa inloggning har angetts för den lokal Active Directory användaren. Följande fel returneras:

Temporary password is not exported

Resultatet av det senaste försöket att synkronisera lösenord är inte tillgängligt

Som standard lagrar Azure AD Anslut resultatet av synkroniseringsförsök för lösenordshash i sju dagar. Om det inte finns några tillgängliga resultat för det valda Active Directory-objektet returneras följande varning:

Diagnostic output for single object - no password sync history

Inga lösenord synkroniseras: felsök med hjälp av cmdlet-diagnostiken

Du kan använda cmdleten Invoke-ADSyncDiagnostics för att ta reda på varför inga lösenord synkroniseras.

Anteckning

Cmdleten Invoke-ADSyncDiagnostics är endast tillgänglig för Azure AD Anslut version 1.1.524.0 eller senare.

Köra diagnostik-cmdleten

Så här felsöker du problem där inga lösenord synkroniseras:

  1. Öppna en ny Windows PowerShell session på Azure AD Anslut-servern med alternativet Kör som administratör.

  2. Kör Set-ExecutionPolicy RemoteSigned eller Set-ExecutionPolicy Unrestricted.

  3. Kör Import-Module ADSyncDiagnostics.

  4. Kör Invoke-ADSyncDiagnostics -PasswordSync.

Ett objekt synkroniserar inte lösenord: felsök med hjälp av cmdlet-diagnostiken

Du kan använda cmdleten Invoke-ADSyncDiagnostics för att avgöra varför ett objekt inte synkroniserar lösenord.

Anteckning

Cmdleten Invoke-ADSyncDiagnostics är endast tillgänglig för Azure AD Anslut version 1.1.524.0 eller senare.

Köra diagnostik-cmdleten

Så här felsöker du problem där inga lösenord synkroniseras för en användare:

  1. Öppna en ny Windows PowerShell session på Azure AD Anslut-servern med alternativet Kör som administratör.

  2. Kör Set-ExecutionPolicy RemoteSigned eller Set-ExecutionPolicy Unrestricted.

  3. Kör Import-Module ADSyncDiagnostics.

  4. Kör följande cmdlet:

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

    Ett exempel:

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

Inga lösenord synkroniseras: manuella felsökningssteg

Följ de här stegen för att avgöra varför inga lösenord synkroniseras:

  1. Är Anslut-servern i mellanlagringsläge? En server i mellanlagringsläge synkroniserar inte några lösenord.

  2. Kör skriptet i avsnittet Hämta status för inställningar för lösenordssynkronisering . Det ger dig en översikt över konfigurationen för lösenordssynkronisering.

    PowerShell script output from password sync settings

  3. Om funktionen inte är aktiverad i Azure AD eller om synkroniseringskanalens status inte är aktiverad kör du installationsguiden för Anslut. Välj Anpassa synkroniseringsalternativ och avmarkera lösenordssynkronisering. Den här ändringen inaktiverar tillfälligt funktionen. Kör sedan guiden igen och återaktivera lösenordssynkronisering. Kör skriptet igen för att kontrollera att konfigurationen är korrekt.

  4. Leta efter fel i händelseloggen. Leta efter följande händelser, vilket indikerar ett problem:

    • Källa: "Katalogsynkronisering" ID: 0, 611, 652, 655 Om du ser dessa händelser har du ett anslutningsproblem. Händelseloggmeddelandet innehåller skogsinformation där du har problem.
  5. Om du inte ser några pulsslag eller om inget annat fungerade kör du Utlösa en fullständig synkronisering av alla lösenord. Kör skriptet bara en gång.

  6. Se avsnittet Felsöka ett objekt som inte synkroniserar lösenord.

Anslutningsproblem

Har du anslutning till Azure AD?

Har kontot nödvändiga behörigheter för att läsa lösenordshasher i alla domäner? Om du har installerat Anslut med hjälp av Express-inställningar bör behörigheterna redan vara korrekta.

Om du använde anpassad installation anger du behörigheterna manuellt genom att göra följande:

  1. Om du vill hitta det konto som används av Active Directory-anslutningsappen startar du Synkronisering Service Manager.

  2. Gå till Anslutningsappar och sök sedan efter den lokal Active Directory skog som du felsöker.

  3. Välj anslutningsappen och klicka sedan på Egenskaper.

  4. Gå till Anslut till Active Directory-skog.

    Account used by Active Directory connector
    Anteckna användarnamnet och domänen där kontot finns.

  5. Starta Active Directory - användare och datorer och kontrollera sedan att kontot du hittade tidigare har följande behörigheter angivna i roten för alla domäner i skogen:

    • Replikera katalogändringar
    • Replikera katalogändringar alla
  6. Kan domänkontrollanterna nås av Azure AD Anslut? Om Anslut-servern inte kan ansluta till alla domänkontrollanter konfigurerar du Använd endast önskad domänkontrollant.

    Domain controller used by Active Directory connector

  7. Gå tillbaka till Synkronisering Service Manager och Konfigurera katalogpartition.

  8. Markera din domän i Markera katalogpartitioner, markera kryssrutan Använd endast önskade domänkontrollanter och klicka sedan på Konfigurera.

  9. I listan anger du de domänkontrollanter som Anslut ska använda för lösenordssynkronisering. Samma lista används även för import och export. Utför de här stegen för alla dina domäner.

Anteckning

Om du vill tillämpa dessa ändringar startar du om tjänsten Microsoft Azure AD Sync (ADSync).

  1. Om skriptet visar att det inte finns några pulsslag kör du skriptet i Utlös en fullständig synkronisering av alla lösenord.

Ett objekt synkroniserar inte lösenord: manuella felsökningssteg

Du kan enkelt felsöka problem med synkronisering av lösenordshash genom att granska status för ett objekt.

  1. I Active Directory - användare och datorer söker du efter användaren och kontrollerar sedan att kryssrutan Användaren måste ändra lösenord vid nästa inloggning är avmarkerad.

    Active Directory productive passwords

    Om kryssrutan är markerad ber du användaren att logga in och ändra lösenordet. Tillfälliga lösenord synkroniseras inte med Azure AD.

  2. Om lösenordet ser korrekt ut i Active Directory följer du användaren i synkroniseringsmotorn. Genom att följa användaren från lokal Active Directory till Azure AD kan du se om det finns ett beskrivande fel på objektet.

    a. Starta synkroniserings-Service Manager.

    b. Klicka på Kopplingar.

    c. Välj den Active Directory Connector där användaren finns.

    d. Välj Sök efter kopplingsutrymme.

    e. I rutan Omfång väljer du DN eller Fästpunkt och anger sedan det fullständiga DN:t för den användare som du felsöker.

    Search for user in connector space with DN

    f. Leta upp den användare som du letar efter och klicka sedan på Egenskaper för att se alla attribut. Om användaren inte finns i sökresultatet kontrollerar du filtreringsreglerna och ser till att du kör Tillämpa och verifierar att ändringar för användaren visas i Anslut.

    ex. Om du vill se information om lösenordssynkronisering för objektet under den senaste veckan klickar du på Logga.

    Object log details

    Om objektloggen är tom har Azure AD Anslut inte kunnat läsa lösenordshash från Active Directory. Fortsätt felsökningen med anslutningsfel. Om du ser något annat värde än lyckat kan du läsa tabellen i loggen för lösenordssynkronisering.

    h. Välj fliken Ursprung och kontrollera att minst en synkroniseringsregel i kolumnen PasswordSync är True. I standardkonfigurationen är namnet på synkroniseringsregeln I från AD – AnvändarkontoAktivera.

    Lineage information about a user

    i. Klicka på Egenskaper för metaversumobjekt för att visa en lista över användarattribut.

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

    Kontrollera att det inte finns något cloudFiltered-attribut . Kontrollera att domänattributen (domainFQDN och domainNetBios) har de förväntade värdena.

    j. Klicka på fliken Anslutningsappar. Se till att du ser anslutningsappar för både lokal Active Directory och Azure AD.

    Metaverse information

    k. Markera den rad som representerar Azure AD, klicka på Egenskaper och klicka sedan på fliken Ursprung . Objektet för anslutningsappens utrymme ska ha en regel för utgående trafik i kolumnen PasswordSync inställd på True. I standardkonfigurationen är namnet på synkroniseringsregeln Out to AAD – User Join( Ut till AAD – Användaranslutning).

    Connector Space Object Properties dialog box

Lösenordssynkroniseringslogg

Statuskolumnen kan ha följande värden:

Status Beskrivning
Klart Lösenordet har synkroniserats.
FilteredByTarget Lösenordet är inställt på Användaren måste ändra lösenordet vid nästa inloggning. Lösenordet har inte synkroniserats.
NoTargetConnection Inget objekt i metaversum eller i Azure AD-anslutningsutrymmet.
SourceConnectorNotPresent Inget objekt hittades i lokal Active Directory-anslutningsplatsen.
TargetNotExportedToDirectory Objektet i Azure AD-anslutningsplatsen har ännu inte exporterats.
MigreradCheckDetailsForMoreInfo Loggposten skapades före version 1.0.9125.0 och visas i dess äldre tillstånd.
Fel Tjänsten returnerade ett okänt fel.
Okänt Ett fel uppstod när en batch med lösenordshashvärden skulle bearbetas.
MissingAttribute Specifika attribut (till exempel Kerberos-hash) som krävs av Azure AD Domain Services är inte tillgängliga.
RetryRequestedByTarget Specifika attribut (till exempel Kerberos-hash) som krävs av Azure AD Domain Services var inte tillgängliga tidigare. Ett försök att synkronisera om användarens lösenordshash görs.

Skript som hjälper dig att felsöka

Hämta status för inställningar för lösenordssynkronisering

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

Utlös en fullständig synkronisering av alla lösenord

Anteckning

Kör det här skriptet bara en gång. Om du behöver köra den mer än en gång är något annat problemet. Om du vill felsöka problemet kontaktar du Microsofts support.

Du kan utlösa en fullständig synkronisering av alla lösenord med hjälp av följande skript:

$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

Nästa steg