Устранение неполадок с синхронизацией хэшированных паролей в службе синхронизации Microsoft Entra Connect

В этой статье приводятся пошаговые инструкции по устранению неполадок, связанных с синхронизацией хэшированных паролей. Если пароли не синхронизируются должным образом, это может быть как для подмножества пользователей, так и для всех пользователей.

Для развертывания Microsoft Entra Connect с версией 1.1.614.0 или более поздней используйте задачу устранения неполадок в мастере для устранения неполадок синхронизации хэша паролей:

Для развертывания с версией 1.1.524.0 или более поздней версией существует командлет диагностики, который можно использовать для устранения неполадок синхронизации хэша паролей:

Для более старых версий развертывания Microsoft Entra Connect:

Пароли не синхронизируются: устранение неполадок с помощью задачи устранения неполадок

Вы можете использовать задачу устранения неполадок, чтобы выяснить, почему пароли не синхронизируются.

Примечание.

Задача устранения неполадок доступна только для Microsoft Entra Connect версии 1.1.614.0 или более поздней.

Запуск задачи устранения неполадок

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

  1. Откройте новый сеанс Windows PowerShell на сервере Microsoft Entra Connect с параметром "Запуск от имени администратора ".

  2. Запустите Set-ExecutionPolicy RemoteSigned или Set-ExecutionPolicy Unrestricted.

  3. Запустите мастер Microsoft Entra Connect.

  4. Перейдите на страницу дополнительных задач, выберите Устранение неполадок, и выберите Далее.

  5. На странице "Устранение неполадок" выберите Начать, чтобы запустить меню диагностики в PowerShell.

  6. В главном меню выберите пункт Troubleshoot password hash synchronization (Устранение неполадок с синхронизацией хэшированных паролей).

  7. В подменю выберите Password hash synchronization does not work at all (Синхронизация хэшированных паролей не выполняется).

Изучение результатов задачи устранения неполадок

Задача устранения неполадок выполняет следующие проверки.

  • Проверяет, включена ли функция синхронизации хэша паролей для клиента Microsoft Entra.

  • Проверяет, что сервер Microsoft Entra Connect не в промежуточном режиме.

  • Для каждого существующего локального соединителя Active Directory (который соответствует существующему лесу Active Directory):

    • проверяет, включена ли функция синхронизации хэшированных паролей;

    • Выполняет поиск событий пульса синхронизации хэша паролей в журналах событий приложения.

    • Для каждого домена Active Directory в локальном соединителе Active Directory:

      • Проверяет, доступен ли домен с сервера Microsoft Entra Connect.

      • Проверяет, чтобы учетные записи доменных служб Active Directory (AD DS), используемые локальным соединителем Active Directory, имели правильные имя пользователя, пароль и разрешения, необходимые для синхронизации хэшированных паролей.

На схеме ниже отображаются результаты командлета для локальной топологии Active Directory с одним доменом:

Диагностические выходные данные для синхронизации хэшированных паролей

Остальная часть этого раздела описывает конкретные результаты, возвращаемые задачей, и связанные с ними вопросы.

Функция синхронизации хэша паролей не включена

Если синхронизация хэша паролей не включена с помощью мастера Microsoft Entra Connect, возвращается следующая ошибка:

Отключена синхронизация хэшированных паролей

Сервер Microsoft Entra Connect находится в промежуточном режиме

Если сервер Microsoft Entra Connect находится в промежуточном режиме, синхронизация хэша паролей временно отключена, и возвращается следующая ошибка:

Сервер Microsoft Entra Connect находится в промежуточном режиме

Отсутствуют события контроля синхронизации хэшей паролей

Каждый локальный соединитель Active Directory поддерживает собственный канал синхронизации хэша паролей. Если канал активен, но изменения пароля не ожидаются, событие пульса (идентификатор события 654) регистрируется каждые 30 минут в журнале событий приложения Windows.

Чтобы проверить работоспособность канала, командлет проверяет наличие событий пульса из каждого соединителя за последние три часа. Если нет, он возвращает следующую ошибку:

Отсутствует событие сердечного ритма синхронизации хэшей паролей

Учетная запись AD DS не имеет необходимых разрешений

Если учетная запись AD DS, используемая локальным соединителем Active Directory для синхронизации хэшей паролей, не содержит соответствующих разрешений, возвращается следующая ошибка:

Снимок экрана с ошибкой, которая появляется, если у учетной записи AD DS неверное имя пользователя или пароль.

Неправильный пароль или имя пользователя учетной записи AD DS

Если учетная запись AD DS, используемая локальным соединителем Active Directory для синхронизации хэшей паролей, содержит неправильный пароль или имя пользователя, возвращается следующая ошибка:

Неверные учетные данные

Один объект не синхронизирует пароли: устранение неполадок с помощью задачи устранения неполадок

Вы можете использовать задачу устранения неполадок, чтобы определить, почему один объект не синхронизирует пароли.

Примечание.

Задача устранения неполадок доступна только для Microsoft Entra Connect версии 1.1.614.0 или более поздней.

Запустите командлет диагностики

Чтобы устранить неполадки для определенного объекта пользователя, сделайте следующее:

  1. Откройте новый сеанс Windows PowerShell на сервере Microsoft Entra Connect с параметром "Запуск от имени администратора ".

  2. Запустите Set-ExecutionPolicy RemoteSigned или Set-ExecutionPolicy Unrestricted.

  3. Запустите мастер Microsoft Entra Connect.

  4. Перейдите на страницу дополнительных задач, выберите Устранение неполадок, и выберите Далее.

  5. На странице "Устранение неполадок" выберите Начать, чтобы запустить меню диагностики в PowerShell.

  6. В главном меню выберите пункт Troubleshoot password hash synchronization (Устранение неполадок с синхронизацией хэшированных паролей).

  7. В подменю выберите Пароль не синхронизируется для определенной учетной записи пользователя.

Изучение результатов задачи устранения неполадок

Задача устранения неполадок выполняет следующие проверки.

  • Проверяет состояние объекта Active Directory в пространстве соединителя Active Directory, Metaverse и пространстве соединителя Microsoft Entra.

  • Проверяет, чтобы к объекту Active Directory были включены и применены правила синхронизации, включающие синхронизацию хэшей паролей.

  • Пытается извлечь и отобразить результаты последней попытки синхронизации паролей для объекта.

На схеме ниже отображаются результаты выполнения командлета для устранения неполадок синхронизации хэшированных паролей для одного объекта:

Выходные данные диагностики для синхронизации паролей (один объект)

В оставшейся части этого раздела описываются определенные результаты, возвращенные командлетом, и соответствующие неполадки.

Объект Active Directory не экспортируется в Microsoft Entra ID

Синхронизация хэша паролей для этой локальной учетной записи Active Directory завершается ошибкой, так как в клиенте Microsoft Entra нет соответствующего объекта. Возвращается следующая ошибка:

Отсутствует объект Microsoft Entra

У пользователя временный пароль

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

Временный пароль не экспортируется

Чтобы включить синхронизацию временных паролей, необходимо установить Microsoft Entra Connect версии 2.0.3.0 или более поздней, а также включить функцию ForcePasswordChangeOnLogonLogon .

Результаты последней попытки синхронизации пароля недоступны

По умолчанию Microsoft Entra Connect сохраняет результаты попыток синхронизации хэша паролей в течение семи дней. Если для выбранного объекта Active Directory результаты недоступны, возвращается следующее предупреждение:

Диагностические выходные данные для одного объекта: отсутствует история синхронизации паролей

Пароли не синхронизируются: устранение неполадок с помощью диагностического командлета

Вы можете использовать командлет Invoke-ADSyncDiagnostics, чтобы выяснить, почему не происходит синхронизация паролей.

Примечание.

Командлет Invoke-ADSyncDiagnostics доступен только для версии 1.1.524.0 или более поздней Microsoft Entra Connect.

Запустите командлет диагностики

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

  1. Откройте новый сеанс Windows PowerShell на сервере Microsoft Entra Connect с параметром "Запуск от имени администратора ".

  2. Запустите Set-ExecutionPolicy RemoteSigned или Set-ExecutionPolicy Unrestricted.

  3. Выполните Import-Module ADSyncDiagnostics.

  4. Выполните Invoke-ADSyncDiagnostics -PasswordSync.

У одного объекта не синхронизируются пароли: устраните неполадки с помощью командлета диагностики

Командлет Invoke-ADSyncDiagnostics можно использовать для определения того, почему один объект не синхронизирует пароли.

Примечание.

Командлет Invoke-ADSyncDiagnostics доступен только для версии 1.1.524.0 или более поздней Microsoft Entra Connect.

Запустите командлет диагностики

Чтобы устранить неполадки с синхронизацией паролей определенного пользователя, сделайте следующее:

  1. Откройте новый сеанс Windows PowerShell на сервере Microsoft Entra Connect с параметром "Запуск от имени администратора ".

  2. Запустите Set-ExecutionPolicy RemoteSigned или Set-ExecutionPolicy Unrestricted.

  3. Выполните Import-Module ADSyncDiagnostics.

  4. Получите учетное имя пользователя DistinguishedName (DN) и выполните следующий командлет:

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

    Например:

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

Пароли не синхронизируются: шаги по устранению неполадок вручную

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

  1. Переведен ли сервер Connect в промежуточный режим? Сервер, находящийся в промежуточном режиме, не синхронизирует пароли.

  2. Выполните сценарий, приведенный в разделе Получение состояния параметров синхронизации паролей. В этом разделе рассматривается конфигурация синхронизации паролей.

    Выходные данные сценария PowerShell из параметров синхронизации паролей

  3. Если функция не включена в Microsoft Entra ID или если состояние синхронизации канала не активно, запустите мастер установки Connect. Выберите Настроить параметры синхронизациии снимите флажок "Синхронизация паролей". Это изменение приведет к временному отключению функции. Затем снова запустите мастер и повторно включите синхронизацию паролей. Запустите сценарий еще раз, чтобы убедиться, что конфигурация правильная.

  4. Проверьте журнал событий на наличие ошибок. Найдите следующие события, которые могут указывать на проблему:

    Источник: "Синхронизация каталогов"
    Идентификатор: 0, 611, 652, 655

    Если вы видите эти события, возникла проблема с подключением. Сообщение в журнале событий содержит сведения о лесе, в котором возникла проблема.

  5. Если нет пульса или не сработали другие методы, то запустите полную синхронизацию всех паролей. Этот сценарий необходимо выполнить только один раз.

  6. См. раздел "Устранение неполадок одного объекта, который не синхронизируется с паролями".

Проблемы с подключением и разрешения AD DS

Проверьте, может ли Microsoft Entra Connect подключиться к идентификатору Microsoft Entra.

Учетная запись соединителя AD DS должна иметь необходимые разрешения для чтения хэшей паролей во всех доменах.

Если вы установили Microsoft Entra Connect с помощью параметров Express, необходимые разрешения были настроены автоматически.

Если вы использовали пользовательскую установку, назначьте разрешения вручную, выполнив следующие действия.

  1. Чтобы найти учетную запись, используемую соединителем Active Directory, запустите Synchronization Service Manager.

  2. Перейдите в раздел Connectors (Соединители), а затем найдите локальный лес Active Directory, в котором устраняются неполадки.

  3. Выберите соединитель, а затем выберите Свойства.

  4. Выберите Подключиться к лесу Active Directory.

    Учетная запись, используемая соединителем Active Directory
    Запишите имя пользователя и домен, в котором размещена учетная запись.

  5. Запустите Active Directory Users and Computers, а затем убедитесь, что обнаруженная ранее учетная запись имеет следующие разрешения, установленные в корне всех доменов в вашем лесу.

    • Репликация изменений каталога
    • Реплицировать все изменения каталога
  6. Достижимы ли контроллеры домена для Microsoft Entra Connect? Если сервер Connect не может подключиться ко всем контроллерам домена, настройте только предпочтительный контроллер домена.

    Контроллер домена, используемый соединителем Active Directory

  7. Вернитесь в меню Synchronization Service Manager и выберите Configure Directory Partitions (Настройка разделов каталога).

  8. Выберите домен в Выберите разделы каталогов, установите флажок использовать только предпочитаемые контроллеры домена, а затем выберите Настроить.

  9. В списке введите контроллеры домена, которые должны использоваться в Connect для синхронизации паролей. Тот же список применяется при импорте и экспорте. Выполните эти действия для всех доменов.

Примечание.

Чтобы применить эти изменения, перезапустите службу синхронизации идентификаторов Microsoft Entra (ADSync).

  1. Если скрипт показывает, что нет сердцебиения, запустите скрипт активировать полную синхронизацию всех паролей.

Один объект не синхронизирует пароли: инструкции по устранению неполадок вручную

Проблемы, связанные с синхронизацией паролей, можно легко диагностировать по состоянию объекта.

  1. В Пользователи и компьютеры Active Directory найдите нужного пользователя, а затем удостоверьтесь, что флажок параметра Требовать смены пароля при следующем входе в систему снят.

    Активные пароли в Active Directory

Если флажок установлен, пользователь должен войти в систему и сменить пароль. Временные пароли не синхронизируются с идентификатором Microsoft Entra.

  1. Если с паролем в Active Directory все в порядке, отследите пользователя в модуле синхронизации. Отслеживая пользователя из локальной службы Active Directory до Microsoft Entra ID, вы можете определить, есть ли описательная ошибка в объекте.

    a. Запустите Synchronization Service Manager.

    б. Выберите соединители .

    с. Выберите соединитель Active Directory, где находится пользователь.

    д. Выберите Search Connector Space(Поиск пространства соединителя).

    д) В поле Scope (Область) выберите DN or Anchor (DN или якорь), а затем введите полное DN пользователя, для которого вы решаете проблемы.

    Поиск пользователя в пространстве соединителя с DN

    ф. Найдите пользователя, который вы ищете, и выберите Свойства, чтобы просмотреть все атрибуты. Если пользователь не входит в результат поиска, проверьте правила фильтрации и убедитесь, что вы запускаете Применить и проверить изменения, чтобы пользователь отображался в Connect.

    ж. Чтобы просмотреть сведения о синхронизации пароля объекта за прошлую неделю, выберите логи.

    Сведения журнала для объекта

    Если журнал объектов пуст, Microsoft Entra Connect не может прочитать хэш паролей из Active Directory. Перейдите к устранению неполадок, описанных в разделе "Проблема подключения". Если состояние имеет значение, отличное от успешного, то воспользуйтесь таблицей в разделе Журнал синхронизации паролей.

    х. Выберите вкладку Lineage и убедитесь, что по крайней мере одно правило синхронизации в колонке PasswordSync имеет значение True. В конфигурации по умолчанию правило синхронизации имеет имя In from AD - User AccountEnabled.

    Информация о происхождении пользователя

    и. Выберите свойства объекта Метавселенной, чтобы отобразить список атрибутов пользователя.

    Снимок экрана, где показан список атрибутов пользователя для свойств объекта метавселенной.

    Убедитесь, что атрибут cloudFiltered отсутствует. Убедитесь, что атрибуты домена (domainFQDN и domainNetBios) имеют ожидаемые значения.

    ж. Перейдите на вкладку Соединители. Убедитесь, что соединители отображаются как в локальной Active Directory, так и в Microsoft Entra ID.

    Информация о метавселенной

    k. Выберите строку, представляющую идентификатор Microsoft Entra, выберите Свойства, а затем перейдите на вкладку Происхождение. Объект пространства соединителя должен иметь правило для исходящих данных в столбце PasswordSync, установленное в True. В конфигурации по умолчанию имя правила синхронизации — Out to Microsoft Entra ID — User Join.

    Диалоговое окно свойств объекта пространства соединителя

Журнал синхронизации хэша паролей

В столбце "Состояние" могут содержаться перечисленные ниже значения.

Состояние Описание
Успех Пароль успешно синхронизирован
ОтфильтрованоПоЦели Для пароля установлено значение Пользователь должен изменить пароль при следующем входе. Пароль не был синхронизирован.
Нет соединения с целевым объектом Нет объекта в метавселенной или в пространстве соединителя Microsoft Entra.
SourceConnectorNotPresent Объект не найден в локальном пространстве соединителя Active Directory.
ЦельНеЭкспортируетсяВКаталог Объект в пространстве соединителя Microsoft Entra еще не экспортирован.
МигрированоПроверьтеПодробностиДляДополнительнойИнформации Запись журнала создана до выхода версии 1.0.9125.0 и отображается в исходном состоянии.
Ошибка Служба вернула неизвестную ошибку.
Неизвестно Произошла ошибка при попытке обработать пакет хэшей паролей.
ОтсутствующийАтрибут Определенные атрибуты (например, хэш Kerberos), необходимые доменным службам Microsoft Entra, недоступны.
Повторный запрос со стороны цели Определенные атрибуты (например, хэш Kerberos), необходимые доменным службам Microsoft Entra, ранее недоступны. Предпринята попытка повторно синхронизировать хэш пароля пользователя.

Журналы просмотрщика событий Windows для синхронизации хэшей паролей

Функция синхронизации хэша паролей создает полноценный набор событий приложения в средстве просмотра событий Windows, фиксируя большую часть своей операционной активности.

Для эффективного устранения неполадок рекомендуется увеличить размер журнала приложений. Без этой корректировки события синхронизации хэша паролей могут быть перезаписаны, что затрудняет отслеживание состояния синхронизации и диагностики проблем.

Идентификатор события Описание
601 Диспетчер синхронизации хэша паролей запускается.
602 Синхронизация хэша паролей останавливается.
603 Произошла непредвиденная ошибка синхронизации хэша паролей.
604 Произошла ошибка задачи синхронизации хэша паролей.
605 Элементы синхронизации хэша паролей добавляются в очередь повторных попыток.
606 Элементы синхронизации хэша паролей удаляются из очереди повторных попыток.
607 Синхронизация хэша паролей не может начаться.
609 Синхронизация хэша паролей остановлена.
610 Синхронизация хэша паролей не может остановиться.
611 Ошибка во время синхронизации хэша паролей для домена.
612 Ошибка инициализации контекста синхронизации хэша паролей.
613 Агент синхронизации хэша паролей приостановлен, так как полная синхронизация каталога еще не завершена.
614 Запуск синхронизации хэша паролей вызывается при отсутствии завершения работы.
615 Произошло исключение в рабочем потоке синхронизации хэша паролей.
616 Сбой в синхронизации хэша паролей с предпочтительным контроллером домена.
617 Полная синхронизация хэша паролей началась для леса.
618 Полная синхронизация хэша паролей началась для домена.
619 Отображает ход выполнения синхронизации хэша паролей для домена.
620 Рапортуется об объектах синхронизации хэша паролей без повторных попыток авторизации.
621 Не удалось выполнить полную попытку синхронизации хэша паролей.
622 Полная синхронизация хэша паролей завершена для домена.
623 Полная синхронизация хэша паролей завершена для леса.
650 Запуск пакета синхронизации хэша паролей.
651 Окончание пакета синхронизации хэша паролей.
652 Ошибка во время операции синхронизации хэша паролей.
653 Начало запроса на синхронизацию хэша паролей.
654 Завершение синхронизации пинга хэша паролей.
655 Ошибка во время операции ping синхронизации хэша паролей.
656 Сообщение запроса синхронизации хэша паролей.
657 Сообщение о синхронизации хэша паролей.
658 Сообщение из журнала событий синхронизации DCaaS.
659 Сообщение журнала событий синхронизации политик паролей.
660 Начало самостоятельного восстановления функции синхронизации хэша паролей.
661 Завершение функции самостоятельного восстановления синхронизации хэша паролей.
662 Задача работоспособности синхронизации хэша паролей завершилась сбоем во время ping операции.
663 Диспетчер синхронизации хэша паролей активен и работает.
664 Сбой задачи синхронизации отдельных объектов.
665 Не удалось сохранить состояние цикла синхронизации хэша паролей для домена.
666 Сбой синхронизации хэша паролей для домена из-за взаимоблокировки SQL.
667 Сбой создания ключа расшифровки MD5.
668 Количество объектов в пакете синхронизации хэша паролей, у которых изменился только PwdLastSet.

Сценарии, помогающие при устранении неполадок

Получение состояния параметров синхронизации паролей

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

Запуск полной синхронизации всех паролей

Примечание.

Запустите этот сценарий только один раз. Если нужно запустить его больше одного раза, значит проблема в чем-то другом. Для устранения этой проблемы обратитесь в службу поддержки Майкрософт.

Полную синхронизацию всех паролей можно активировать с помощью следующего сценария:

  1. Назначьте значение локального Active Directory $adConnector.

    $adConnector = "<CASE SENSITIVE AD CONNECTOR NAME>"

  2. Назначьте значение $aadConnector для AzureAD

    $aadConnector = "<CASE SENSITIVE AAD CONNECTOR NAME>"

  3. Установка модуля синхронизации AzureAD

    Import-Module adsync

  4. Создание объекта параметра конфигурации полной синхронизации паролей Force

    $c = Get-ADSyncConnector -Name $adConnector

  5. Обновите существующий соединитель следующими новыми конфигурациями. Выполнение каждой строки отдельно

    a. $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

  6. Отключить Entra ID Connect

    Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $false

  7. Включите Entra ID Connect для принудительной полной синхронизации паролей

    Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $true

Следующие шаги