Dubbletter eller ogiltiga attribut förhindrar katalogsynkronisering i Office 365

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Symptom

I Microsoft Office 365 får en administratör följande e-postmeddelande med en varning när katalogsynkroniseringen är klar:

From: [MSOnlineServicesTeam@MicrosoftOnline.com](mailto:msonlineservicesteam@microsoftonline.com)Subject: Directory Synchronization Error Report

Felrapporten i e-postmeddelandet kan innehålla ett eller flera av följande felmeddelanden:

  • Det finns redan ett synkroniserat objekt med samma proxyadress i din Microsoft Online Services-katalog.
  • Det går inte att uppdatera objektet eftersom användar-ID:t inte hittas.
  • Det går inte att uppdatera objektet i Microsoft Online Services eftersom följande attribut som är kopplade till det här objektet har värden som kanske redan är kopplade till ett annat objekt i din lokala katalog.
  • Det går inte att uppdatera objektet eftersom följande attribut som är kopplade till det här objektet har värden som kanske redan är kopplade till ett annat objekt i dina lokala katalogtjänster: [UserPrincipalName john @ contoso.com;]. Korrigera eller ta bort dubblettvärden i den lokala katalogen.
  • Det går inte att uppdatera det här objektet eftersom följande attribut som är kopplade till det här objektet har värden som kanske redan är kopplade till ett annat objekt i dina lokala katalogtjänster: [ProxyAddresses SMTP:john @ contoso.com;]. Korrigera eller ta bort dubblettvärden i den lokala katalogen.

Om du kör synkroniseringstjänsten för Azure Active Directory (Anslut) loggas dessutom en instans av händelse-ID 6941 som innehåller något av följande felmeddelanden i loggen i Loggboken för programinloggning:

Event ID: 6941
Log Name: Application
Source: ADSync
Level: Error
Details:
ECMA2 MA export run caused an error. 

Error Name: AttributeValueMustBeUnique
Error Detail: Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [UserPrincipalName john@contoso.com;]. Correct or remove the duplicate values in your local directory. Please refer to https://support.microsoft.com/kb/2647098 for more information on identifying objects with duplicate attribute values.
Event ID: 6941
Log Name: Application
Source: ADSync
Level: Error
Details:
ECMA2 MA export run caused an error.

Error Name: InvalidSoftMatch
Error Detail: Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [ProxyAddresses SMTP:john@contoso.com;]. Correct or remove the duplicate values in your local directory.

Orsak

Det här problemet kan uppstå om användarobjekt i det lokala AD DS-schemat (Active Directory Domain Services) har dubbletter eller ogiltiga aliasvärden, och om dessa användarobjekt inte synkroniseras från AD DS-schemat till Office 365 korrekt under katalogsynkronisering.

Alla aliasvärden i Office 365 måste vara unika för en viss organisation. Även om du har flera unika suffix efter at-tecknet (@) i SMTP-adressen (Simple Mail Transfer Protocol) måste alla aliasvärden vara unika.

I en lokal miljö kan du ha aliasvärden som är lika långa som de är unika baserat på suffixen efter at-tecknet (@) i SMTP-adressen.

Om du skapar objekt som har dubbletter av aliasvärden i molnet för Office 365, så att aliasen blir unika, har ett unikt nummer lagts till i det. (Om dubblettvärdena till exempel är "Albert" blir en av dem automatiskt "Albert2". Om "Albert2" redan används blir alias "Albert3" och så vidare.) Men om objekt som har dubblettaliasvärden skapas i din lokala AD DS inträffar en objektsynkronisering när katalogsynkroniseringen körs och objektsynkroniseringen misslyckas.

Lösning

Lös problemet genom att fastställa dubblettvärden och värden som står i konflikt med andra AD DS-objekt. Det gör du på något av följande sätt.

Metod 1: Använd Felreparationsverktyg för IdFix Microsoft Azure Active Directory-synkroniseringsverktyget

Använd Åtgärdsverktyget för felkorrigering av IdFix Microsoft Azure Active Directory-synkroniseringsverktyget för att identifiera dubbletter eller ogiltiga attribut. Information om hur du löser dubblettattribut med hjälp av IdFix-verktyget finns i följande Microsoft Knowledge Base-artikel:

2857385 "Duplicera" visas i kolumnen FEL för två eller fler objekt när du har kört IdFix-verktyget

Metod 2: Mappa en befintlig lokal användare till en Azure AD-användare

Information om hur du gör det finns i följande Microsoft Knowledge Base-artikel:

2641663 Så här använder du SMTP-matchning för att matcha lokala användarkonton med Office 365-användarkonton för katalogsynkronisering

Metod 3: Fastställa attributkonflikter som orsakas av objekt som inte skapats i Azure AD via katalogsynkronisering

Om du vill avgöra attributkonflikter som orsakas av användarobjekt som skapats med hanteringsverktygen i Office 365 (och som inte skapats i Azure AD via katalogsynkronisering) gör du så här:

  1. Fastställ de unika attributen för det lokala AD DS-användarkontot. Gör så här på en dator där Windows SupportVerktyg är installerat:

    1. Klicka på Start, klicka Kör, skriv ldp.exe och klicka sedan på OK.

    2. Klicka Anslutning , klicka på Anslut, skriv in namnet på en AD DS-domänkontrollant och klicka sedan på OK.

    3. Klicka på Anslutning, klicka Binda och sedan på OK.

    4. Klicka Visa , klicka på Trädvy, välj AD DS-domänen i Listrutan BaseDN och klicka sedan på OK.

    5. Leta reda på och dubbelklicka sedan på objektet som inte synkroniseras korrekt i navigeringsfönstret. I informationsfönstret till höger i fönstret visas en lista med alla objektattribut. I följande exempel visas objektattributen:

      Exempel på objektattribut

    6. Registrera värdena för attributet userPrincipalName och varje SMTP-adress i attributet proxyAddresses för flera värden. Du behöver dessa värden senare.

      Attributnamn Exempel Kommentarer
      proxyAddresses proxyAddresses (3): x500:/o=Exchange/ou=Exchange Administrative Group (GroupName)/cn=Recipients/cn=GUID; smtp:7628376@service.contoso.com; SMTP:7628376@contoso.com; Talet som visas inom parentes bredvid attributetiketten anger antalet proxyadressvärden i flervärdesattributet. Varje distinkt proxyadressvärde anges med semikolon (;). Det primära SMTP-proxyadressvärdet anges med versaler "SMTP:"
      userPrincipalName 7628376@contoso.com

      Anteckning

      Ldp.exe ingår i Windows Server 2008 och i Supportverktyg för Windows Server 2003. Supportverktygen för Windows Server 2003 ingår i installationsmediet för Windows Server 2003. Du kan också skaffa verktyget genom att gå till följande Microsoft-webbplats: Windows Server 2003 Service Pack 2 32-bitars supportverktyg

  2. Anslut till Office 365 med hjälp av Azure Active Directory-modulen för Windows PowerShell. Gör så här:

    1. Klicka på Start, klicka på Alla program, klicka på Azure Active Directory och klicka sedan på Azure Active Directory-modul för Windows PowerShell.

    2. Skriv följande kommandon i den ordning som de visas och tryck på Retur efter varje kommando:

      $cred = get-credential
      

      Anteckning

      När du uppmanas att göra det anger du dina autentiseringsuppgifter som Office 365-administratör.

      Connect-MSOLService –credential $cred
      

      Låt konsolfönstret vara öppet. Du måste använda det i nästa steg.

  3. Kontrollera om det finns dubbletter av userPrincipalName-attribut i Office 365.

    I konsolanslutningen som du öppnade i steg 2 skriver du följande kommandon i den ordning som de visas och trycker på Retur efter varje kommando:

    $userUPN = "<search UPN>"
    

    Anteckning

    I det här kommandot representerar platshållaren "sök UPN" attributet UserPrincipalName som du registrerade i steg 1f.

    get-MSOLUser –UserPrincipalName $userUPN | where {$_.LastDirSyncTime -eq $null}
    

    Låt konsolfönstret vara öppet. Du kommer att använda den igen i nästa steg.

  4. Kontrollera om det finns dubbletter av proxyAddresses-attribut. I konsolanslutningen som du öppnade i steg 2 skriver du följande kommandon i den ordning som de visas och trycker på Retur efter varje kommando:

    $SessionExO = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
    
    Import-PSSession $sessionExO -prefix:Cloud
    
  5. Skriv följande kommandon i den ordning de visas för varje proxyadresspost som du registrerade i steg 1f och tryck på Retur efter varje kommando:

    $proxyAddress = "<search proxyAddress>"
    

    Anteckning

    I det här kommandot representerar platshållaren"sökproxyAdress" värdet för ett proxyAddresses-attribut som du registrerade i steg 1f.

    Get-Cloudmailbox | Where {[string] $str = ($_.EmailAddresses); $str.tolower().Contains($proxyAddress.tolower()) -eq $true} | foreach {get-MsolUser -ObjectID $_.ExternalDirectoryObjectId | Where {($_.LastDirSyncTime -eq $null)}}
    

Objekt som returneras efter att du har kört kommandona i steg 3 och 4 representerar användarobjekt som inte skapats via katalogsynkronisering och som har attribut som står i konflikt med objektet som inte synkroniseras korrekt.

När du har fastställa värden i konflikt eller ogiltiga attribut, felsöker du problemet genom att följa stegen i följande Microsoft Knowledge Base-artikel:

2643629 Ett eller flera objekt synkroniseras inte när verktyget Azure Active Directory-synkronisering används

Mer information

För Windows PowerShell-kommandona i den här artikeln krävs Azure Active Directory-modulen för Windows PowerShell. Mer information om Azure Active Directory-modulen för Windows PowerShell finns på följande Microsoft-webbplats:

Azure Active Directory-cmdlets

Behöver du fortfarande hjälp? Gå till Microsoft Community.