Zduplikowane lub nieprawidłowe atrybuty uniemożliwiają synchronizację katalogów w usłudze Office 365

Uwaga

Nazwa usługi Office 365 ProPlus została zmieniona na Aplikacje usługi Microsoft 365 dla przedsiębiorstw. Aby uzyskać więcej informacji na temat tej zmiany, przeczytaj ten wpis w blogu.

Symptomy

Po zakończeniu synchronizacji katalogów administrator usługi Microsoft Office 365 otrzymuje następujące ostrzeżenie e-mail z ostrzeżeniem:

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

Raport o błędach w wiadomości e-mail może zawierać co najmniej jeden z następujących komunikatów o błędach:

  • Obiekt zsynchronizowany z tym samym adresem serwera proxy już istnieje w katalogu usług Microsoft Online Services.
  • Nie można zaktualizować tego obiektu, ponieważ nie można odnaleźć identyfikatora użytkownika.
  • Nie można zaktualizować tego obiektu w usługach Microsoft Online Services, ponieważ następujące atrybuty skojarzone z tym obiektem mają wartości, które mogą być już skojarzone z innym obiektem w katalogu lokalnym.
  • Nie można zaktualizować tego obiektu, ponieważ następujące atrybuty skojarzone z tym obiektem mają wartości, które mogą być już skojarzone z innym obiektem w lokalnych usługach katalogowych: [UserPrincipalName john @ contoso.com;]. Poprawienie lub usunięcie zduplikowanych wartości w katalogu lokalnym.
  • Nie można zaktualizować tego obiektu, ponieważ następujące atrybuty skojarzone z tym obiektem mają wartości, które mogą być już skojarzone z innym obiektem w lokalnych usługach katalogowych: [ProxyAddresses SMTP:john @ contoso.com;]. Poprawienie lub usunięcie zduplikowanych wartości w katalogu lokalnym.

Ponadto, jeśli używasz usługi synchronizacji Azure Active Directory (Connect), w Podglądzie zdarzeń logowania aplikacji jest rejestrowane wystąpienie identyfikatora zdarzenia 6941 zawierającego jeden z następujących komunikatów o błędach:

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.

Przyczyna

Ten problem może wystąpić, jeśli obiekty użytkowników w lokalnym schemacie programu Usługi domenowe w usłudze Active Directory (AD DS) mają zduplikowane lub nieprawidłowe wartości aliasów, AD DS obiekty tych użytkowników nie są poprawnie synchronizowane ze schematem programu AD DS z usługą Office 365 podczas synchronizacji katalogów.

Wszystkie wartości aliasów w usłudze Office 365 muszą być unikatowe dla danej organizacji. Nawet jeśli po znaku "@) w adresie SMTP (Simple Mail Transfer Protocol) istnieje wiele unikatowych sufiksów, wszystkie wartości aliasów muszą być unikatowe.

W środowisku lokalnym możesz mieć wartości aliasów takie same, o ile są unikatowe na podstawie sufiksów po znaku "@" w adresie SMTP.

Jeśli utworzysz obiekty, które mają zduplikowane wartości aliasów w chmurze dla usługi Office 365, aby aliasy były unikatowe, do jednego aliasu dołączona jest unikatowa liczba. Jeśli na przykład zduplikowane wartości aliasów to "Albert", jedna z nich automatycznie stanie się "Albert2". Jeśli "Albert2" jest już używany, alias będzie się przysłał "Albert3" i tak dalej). Jeśli jednak na lokalnym serwerze zostaną utworzone obiekty o zduplikowanych wartościach aliasów, AD DS zostanie uruchomiony synchronizacja katalogów, a synchronizacja obiektów zakończy się niepowodzeniem.

Rozwiązanie

Aby rozwiązać ten problem, określ zduplikowane wartości i wartości, które są w konflikcie z AD DS obiektami. W tym celu użyj jednej z następujących metod.

Metoda 1. Używanie narzędzia rozwiązywania problemów z błędami synchronizacji usługi Microsoft Azure Active Directory

Narzędzie rozwiązywanie problemów z błędami synchronizacji usługi Microsoft Azure Active Directory za pomocą narzędzia do rozwiązywania problemów z synchronizacją narzędzia IdFix umożliwia identyfikowanie zduplikowanych lub nieprawidłowych atrybutów. Aby rozwiązać problem zduplikowanych atrybutów przy użyciu narzędzia IdFix, zobacz następujący artykuł z bazy wiedzy Microsoft Knowledge Base:

2857385 "Duplicate" (Zduplikowane) jest wyświetlane w kolumnie ERROR (BŁĄD) dla dwóch lub większej liczby obiektów po uruchomieniu narzędzia IdFix

Metoda 2. Mapowanie istniejącego użytkownika lokalnego na użytkownika usługi Azure AD

Aby to zrobić, zobacz następujący artykuł z bazy wiedzy Microsoft Knowledge Base:

2641663 Jak używać dopasowywania SMTP w celu dopasowania lokalnych kont użytkowników do kont użytkowników usługi Office 365 na użytek synchronizacji katalogów

Metoda 3. Określanie konfliktów atrybutów spowodowanych przez obiekty, które nie zostały utworzone w usłudze Azure AD w ramach synchronizacji katalogów

Aby określić konflikty atrybutów spowodowane przez obiekty użytkowników utworzone za pomocą narzędzi do zarządzania usługą Office 365 (które nie zostały utworzone w usłudze Azure AD przy użyciu funkcji synchronizacji katalogów), wykonaj następujące czynności:

  1. Określ unikatowe atrybuty lokalnego konta AD DS użytkownika. W tym celu na komputerze z zainstalowanymi Narzędziami pomocy technicznej systemu Windows wykonaj następujące czynności:

    1. Kliknij przycisk Start, kliknij przycisk Uruchom, wpisz ldp.exe, a następnie kliknij przycisk OK.

    2. Kliknij pozycję Połączenie , kliknij przycisk Połącz , wpisz nazwę komputera AD DS domeny, a następnie kliknij przycisk OK.

    3. Kliknij pozycję Połączenie, kliknij pozycję Powiąż, a następnie kliknij przycisk OK.

    4. Kliknij kartę Widok, kliknij pozycję Widok drzewa, wybierz AD DS domeny z listy rozwijanej BaseDN, a następnie kliknij przycisk OK.

    5. W okienku nawigacji znajdź i kliknij dwukrotnie obiekt, który nie jest synchronizny poprawnie. Okienko Szczegóły po prawej stronie okna zawiera listę wszystkich atrybutów obiektów. W poniższym przykładzie pokazano atrybuty obiektu:

      Przykładowe atrybuty obiektu

    6. Zanotuj wartości atrybutu userPrincipalName i każdego adresu SMTP w wielowartościowym atrybutu proxyAddresses. Te wartości będą potrzebne później.

      Nazwa atrybutu Przykład Uwagi
      proxyAddresses proxyAddresses (3): x500:/o=Exchange/ou=Exchange Administrative Group (GroupName)/cn=Recipients/cn=GUID; smtp:7628376@service.contoso.com; SMTP:7628376@contoso.com; Liczba wyświetlana w nawiasach obok etykiety atrybutu wskazuje liczbę wartości adresu serwera proxy w atrybutzie wielowartościowym. Każda odrębna wartość adresu serwera proxy jest wskazywana przez średnik (;). Podstawowa wartość adresu serwera proxy SMTP jest wskazywana małymi literami "SMTP:"
      userPrincipalName 7628376@contoso.com

      Uwaga

      Ldp.exe jest dostępny w systemach Windows Server 2008 i Windows Server 2003 w narzędziach pomocy technicznej. Narzędzia pomocy technicznej dla systemu Windows Server 2003 są zawarte na nośniku instalacyjnym systemu Windows Server 2003. Aby uzyskać narzędzie, przejdź do następującej witryny internetowej firmy Microsoft: 32-bitowe narzędzia pomocy technicznej dla systemu Windows Server 2003 z dodatkiem Service Pack 2

  2. Połącz się z usługą Office 365 przy użyciu modułu usługi Azure Active Directory dla programu Windows PowerShell. Aby to zrobić, wykonaj następujące kroki.

    1. Kliknij przycisk Start, kliknij pozycję Wszystkie programy, kliknij pozycję Azure Active Directory, a następnie kliknij polecenie Moduł Usługi Azure Active Directory dla programu Windows PowerShell.

    2. Wpisz następujące polecenia w kolejności ich prezentowania i po każdym z nich naciśnij klawisz Enter:

      $cred = get-credential
      

      Uwaga

      Gdy zostanie wyświetlony monit, wprowadź poświadczenia administratora usługi Office 365.

      Connect-MSOLService –credential $cred
      

      Pozostaw otwarte okno konsoli. Należy użyć go w następnym kroku.

  3. Sprawdź, czy w usłudze Office 365 nie ma zduplikowanych atrybutów userPrincipalName.

    W połączeniu z konsolą, które zostało otwarte w kroku 2, wpisz następujące polecenia w kolejności ich prezentowania i po każdym z nich naciśnij klawisz Enter:

    $userUPN = "<search UPN>"
    

    Uwaga

    W tym poleceniu symbol zastępczy "wyszukaj głównej nazwy użytkownika" reprezentuje atrybut UserPrincipalName zarejestrowany w kroku 1f.

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

    Pozostaw otwarte okno konsoli. Użyj go ponownie w następnym kroku.

  4. Sprawdź, czy nie ma zduplikowanych wartości proxyAddressesattributes. W połączeniu z konsolą, które zostało otwarte w kroku 2, wpisz następujące polecenia w kolejności ich prezentowania i po każdym z nich naciśnij klawisz Enter:

    $SessionExO = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
    
    Import-PSSession $sessionExO -prefix:Cloud
    
  5. Dla każdego wpisu adresu serwera proxy zarejestrowanego w kroku 1f wpisz następujące polecenia w kolejności ich prezentowania i naciśnij klawisz Enter po każdym z poleceń:

    $proxyAddress = "<search proxyAddress>"
    

    Uwaga

    W tym poleceniu symbol zastępczy "search proxyAddress" reprezentuje wartość atrybutu proxyAddresses zarejestrowanego w kroku 1f.

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

Elementy zwracane po uruchomieniu poleceń w krokach 3 i 4 przedstawiają obiekty użytkowników, które nie zostały utworzone w ramach synchronizacji katalogów i które mają atrybuty powodujące konflikt z obiektem, który nie jest synchronizowany poprawnie.

Po określeniu wartości atrybutów powodującego konflikt lub nieprawidłowego rozwiązania problemu rozwiąż go, korzystając z procedury opisanej w następującym artykule z bazy wiedzy Microsoft Knowledge Base:

2643629 Co najmniej jeden obiekt nie jest synchronizowane, gdy jest używane narzędzie do synchronizacji usługi Azure Active Directory

Więcej informacji

Polecenia programu Windows PowerShell w tym artykule wymagają modułu usługi Azure Active Directory dla programu Windows PowerShell. Aby uzyskać więcej informacji o module usługi Azure Active Directory dla programu Windows PowerShell, przejdź do następującej witryny internetowej firmy Microsoft:

Polecenia cmdlet usługi Azure Active Directory

Nadal potrzebujesz pomocy? Przejdź do witryny Microsoft Community.