Повторяющиеся или недопустимые атрибуты препятствуют синхронизации каталогов в Microsoft 365

Симптомы

В Microsoft 365 администратор получает следующее сообщение электронной почты с предупреждением по завершении синхронизации каталогов:

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

Отчет об ошибке в сообщении электронной почты может содержать одно или несколько из следующих сообщений об ошибке:

  • Синхронизированный объект с тем же адресом прокси-сервера уже существует в каталоге Microsoft Online Services.
  • Не удалось обновить этот объект, так как идентификатор пользователя не найден.
  • Не удалось обновить этот объект в Microsoft Online Services, так как следующие атрибуты, связанные с этим объектом, имеют значения, которые уже могут быть связаны с другим объектом в локальном каталоге.
  • Не удалось обновить этот объект, так как следующие атрибуты, связанные с этим объектом, имеют значения, которые уже могут быть связаны с другим объектом в локальных службах каталогов: [UserPrincipalName john@contoso.com;]. Исправьте или удалите повторяющиеся значения в локальном каталоге.
  • Не удалось обновить этот объект, так как следующие атрибуты, связанные с этим объектом, имеют значения, которые уже могут быть связаны с другим объектом в локальных службах каталогов: [ProxyAddresses SMTP:john@contoso.com;]. Исправьте или удалите повторяющиеся значения в локальном каталоге.

Кроме того, если вы используете службу синхронизации с идентификатором Microsoft Entra (Connect), экземпляр события с идентификатором 6941, содержащий одно из следующих сообщений об ошибке, регистрируется в Просмотр событий входа в приложение:

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.

Причина

Эта проблема может возникнуть, если пользовательские объекты в схеме локальная служба Active Directory Доменные службы (AD DS) имеют повторяющиеся или недопустимые значения псевдонимов и если эти пользовательские объекты не синхронизируются со схемой AD DS с Microsoft 365 правильно во время синхронизации каталогов.

Все значения псевдонимов в Microsoft 365 должны быть уникальными для конкретной организации. Даже если у вас есть несколько уникальных суффиксов после знака @в SMTP-адресе, все значения псевдонимов должны быть уникальными.

В локальной среде можно использовать одинаковые значения псевдонимов, если они являются уникальными на основе суффиксов после знака (@) в SMTP-адресе.

Если вы создаете объекты с повторяющимися значениями псевдонимов в облаке для Microsoft 365, чтобы сделать псевдонимы уникальными, к одному псевдониму добавляется уникальный номер. (Например, если повторяющиеся значения псевдонима — "Albert", одно из них автоматически становится "Albert2". Если "Albert2" уже используется, псевдоним становится "Albert3" и т. д.) Однако если объекты с повторяющимися значениями псевдонимов создаются в локальной службе AD DS, конфликт объектов возникает при выполнении синхронизации каталогов и сбое синхронизации объектов.

Решение

Чтобы устранить эту проблему, определите повторяющиеся значения и значения, конфликтующие с другими объектами AD DS. Для этого используйте один из следующих методов.

Способ 1. Использование средства исправления ошибок синхронизации idFix Microsoft Entra

Используйте средство исправления ошибок IdFix Microsoft Entra sync tool для выявления повторяющихся или недопустимых атрибутов. Сведения о разрешении повторяющихся атрибутов с помощью средства IdFix см. в следующей статье базы знаний Майкрософт:

2857385 "Дублироваться" отображается в столбце ERROR для двух или более объектов после запуска средства IdFix

Способ 2. Сопоставление существующего локального пользователя с пользователем Microsoft Entra

Для этого см. следующую статью базы знаний Майкрософт:

2641663 Использование сопоставления SMTP для сопоставления локальных учетных записей пользователей с учетными записями пользователей Microsoft 365 для синхронизации каталогов

Метод 3. Определение конфликтов атрибутов, вызванных объектами, которые не были созданы в идентификаторе Microsoft Entra с помощью синхронизации каталогов

Чтобы определить конфликты атрибутов, вызванные пользовательскими объектами, созданными с помощью средств управления Microsoft 365 (и не созданными в Microsoft Entra идентификатора с помощью синхронизации каталогов), выполните следующие действия:

  1. Определите уникальные атрибуты локальной учетной записи пользователя AD DS. Для этого на компьютере с установленными средствами поддержки Windows выполните следующие действия.

    1. Нажмите кнопку Пуск, нажмите кнопку Выполнить, введите ldp.exe и нажмите кнопку ОК.

    2. Щелкните Подключение, нажмите кнопку Подключить, введите имя компьютера контроллера домена AD DS и нажмите кнопку ОК.

    3. Щелкните Подключение, щелкните Привязать, а затем нажмите кнопку ОК.

    4. Щелкните Вид, щелкните Представление в виде дерева, выберите домен AD DS в раскрывающемся списке BaseDN и нажмите кнопку ОК.

    5. В области навигации найдите и дважды щелкните объект, который не синхронизируется правильно. В области Сведения в правой части окна перечислены все атрибуты объекта. В следующем примере показаны атрибуты объекта:

      Снимок экрана: пример атрибутов объекта.

    6. Запишите значения атрибута userPrincipalName и каждого SMTP-адреса в многозначном атрибуте proxyAddresses. Эти значения потребуются позже.

      Имя атрибута Пример Заметки
      proxyAddresses proxyAddresses (3): x500:/o=Exchange/ou=Exchange Administrative Group (GroupName)/cn=Recipients/cn=GUID; smtp:7628376@service.contoso.com; SMTP:7628376@contoso.com; Число, отображаемое в круглых скобках рядом с меткой атрибута, указывает количество значений прокси-адресов в многозначном атрибуте. Каждое отдельное значение прокси-адреса указывается точкой с запятой (;). Значение основного адреса прокси-сервера SMTP указывается в верхнем регистре "SMTP:"
      userPrincipalName. 7628376@contoso.com

      Примечание.

      Ldp.exe входит в состав Windows Server 2008 и средств поддержки Windows Server 2003. Средства поддержки Windows Server 2003 включены в установочный носитель Windows Server 2003. Или, чтобы получить средство, перейдите на следующий веб-сайт Майкрософт: 32-разрядные средства поддержки Windows Server 2003 с пакетом обновления 2 (SP2)

  2. Подключитесь к Microsoft 365 с помощью модуля Azure Active Directory для Windows PowerShell. Для этого выполните указанные ниже действия.

    1. Нажмите кнопку Пуск, выберите Все программы, Microsoft Entra идентификатор, а затем — модуль Azure Active Directory для Windows PowerShell.

    2. Введите следующие команды в том порядке, в котором они представлены, и нажмите клавишу ВВОД после каждой команды:

      $cred = get-credential
      

      Примечание.

      При появлении запроса введите учетные данные администратора Microsoft 365.

      Connect-MSOLService –credential $cred
      

      Оставьте окно консоли открытым. Его необходимо будет использовать на следующем шаге.

  3. Проверьте наличие повторяющихся атрибутов userPrincipalName в Microsoft 365.

    В подключении к консоли, которое вы открыли на шаге 2, введите следующие команды в том порядке, в котором они представлены, и нажмите клавишу ВВОД после каждой команды:

    $userUPN = "<search UPN>"
    

    Примечание.

    В этой команде заполнитель "search UPN" представляет атрибут UserPrincipalName, записанный на шаге 1f.

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

    Оставьте окно консоли открытым. Вы снова будете использовать его на следующем шаге.

  4. Проверьте наличие повторяющихся proxyAddressesattributes. В подключении к консоли, которое вы открыли на шаге 2, введите следующие команды в том порядке, в котором они представлены, и нажмите клавишу ВВОД после каждой команды:

    $UserCredential = Get-Credential
    Connect-ExchangeOnline -Credential $UserCredential
    
  5. Для каждой записи адреса прокси-сервера, записанной на шаге 1f, введите следующие команды в том порядке, в котором они представлены, и нажмите клавишу ВВОД после каждой команды:

    $proxyAddress = "<search proxyAddress>"
    

    Примечание.

    В этой команде заполнитель search proxyAddress представляет значение атрибута proxyAddresses, записанное на шаге 1f.

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

Элементы, возвращаемые после выполнения команд на шагах 3 и 4, представляют объекты пользователей, которые не были созданы с помощью синхронизации каталогов и имеют атрибуты, конфликтующие с объектом, который не синхронизируется правильно.

После определения конфликтующих или недопустимых значений атрибутов устраните проблему, выполнив действия, описанные в следующей статье базы знаний Майкрософт:

2643629 один или несколько объектов не синхронизируются при использовании средства синхронизации Azure Active Directory

Дополнительная информация

Командам Windows PowerShell, приведенным в этой статье, требуется модуль Azure Active Directory для Windows PowerShell. Дополнительные сведения о модуле Azure Active Directory для Windows PowerShell см. на следующем веб-сайте Майкрософт:

Командлеты Microsoft Entra

Требуется дополнительная помощь? Зайдите на сайт сообщества Майкрософт.