Устранение неполадок с синхронизацией хэшированных паролей в службе синхронизации Microsoft Entra Connect
В этой статье приводятся пошаговые инструкции по устранению неполадок, связанных с синхронизацией хэшированных паролей. Неполадки синхронизации паролей могут возникать либо в подмножестве пользователей, либо у всех.
Для развертывания Microsoft Entra Подключение с версией 1.1.614.0 или после нее используйте задачу устранения неполадок в мастере для устранения неполадок синхронизации хэша паролей:
Если пароли не синхронизируются, перейдите к разделу Пароли не синхронизируются: устранение неполадок с помощью задачи устранения неполадок.
Если возникла проблема с отдельными объектами, перейдите к разделу Пароли не синхронизируются одним объектом: устранение неполадок с помощью задачи устранения неполадок.
Для развертываний версии 1.1.524.0 или более поздней версии мы создали командлет диагностики, который вы можете использовать для устранения неполадок с синхронизацией хэшированных паролей.
Если пароли не синхронизируются, перейдите к разделу Пароли не синхронизируются: устранение неполадок с помощью командлета диагностики.
Если возникла проблема с отдельными объектами, перейдите к разделу Пароли не синхронизируются одним объектом: устранение неполадок с помощью командлета диагностики.
Для более старых версий развертывания Microsoft Entra Подключение:
Если пароли не синхронизируются, перейдите к разделу Пароли не синхронизируются: шаги по устранению неполадок вручную.
Если возникла проблема с отдельными объектами, перейдите к разделу Пароли не синхронизируются одним объектом: шаги по устранению неполадок вручную.
Пароли не синхронизируются: устранение неполадок с помощью задачи устранения неполадок
Вы можете использовать задачу устранения неполадок, чтобы выяснить, почему пароли не синхронизируются.
Примечание.
Задача устранения неполадок доступна только для Microsoft Entra Подключение версии 1.1.614.0 или более поздней.
Запуск задачи устранения неполадок
Чтобы устранить неполадки, связанные с синхронизацией паролей, сделайте следующее:
Откройте новый сеанс Windows PowerShell на сервере Microsoft Entra Подключение с параметром запуска от имени Администратор istrator.
Запустите
Set-ExecutionPolicy RemoteSigned
илиSet-ExecutionPolicy Unrestricted
.Запустите мастер Подключение Microsoft Entra.
Перейдите к странице Дополнительные задачи, выберите Устранение неполадок и щелкните Далее.
На странице "Устранение неполадок" щелкните Запуск, чтобы открыть меню устранения неполадок в PowerShell.
В главном меню выберите пункт Troubleshoot password hash synchronization (Устранение неполадок с синхронизацией хэшированных паролей).
В подменю выберите Password hash synchronization does not work at all (Синхронизация хэшированных паролей не выполняется).
Изучение результатов задачи устранения неполадок
Задача устранения неполадок выполняет следующие проверки.
Проверяет, включена ли функция синхронизации хэша паролей для клиента Microsoft Entra.
Проверяет, что сервер Microsoft Entra Подключение не находится в промежуточном режиме.
Для каждого существующего локального соединителя Active Directory (который соответствует существующему лесу Active Directory):
проверяет, включена ли функция синхронизации хэшированных паролей;
ищет события пульса для синхронизации хэшированных паролей в журналах событий приложений Windows.
Для каждого домена Active Directory в локальном соединителе Active Directory:
Проверяет, доступен ли домен с сервера Microsoft Entra Подключение.
Проверяет, чтобы учетные записи доменных служб Active Directory (AD DS), используемые локальным соединителем Active Directory, имели правильные имя пользователя, пароль и разрешения, необходимые для синхронизации хэшированных паролей.
На схеме ниже отображаются результаты командлета для локальной топологии Active Directory с одним доменом:
В оставшейся части этого раздела описаны возможные результаты, возвращаемые задачей, и соответствующие неполадки.
Функция синхронизации хэша паролей не включена
Если вы не включили синхронизацию хэша паролей с помощью мастера microsoft Entra Подключение, возвращается следующая ошибка:
Сервер Microsoft Entra Подключение находится в промежуточном режиме
Если сервер Microsoft Entra Подключение находится в промежуточном режиме, синхронизация хэша паролей временно отключена, и возвращается следующая ошибка:
Отсутствуют события пульса для синхронизации паролей
У каждого локального соединителя Active Directory есть свой собственный канал синхронизации хэшированных паролей. Если установлен канал синхронизации хэшированных паролей, но нет необходимости синхронизировать изменения паролей, в журнале событий приложений Windows каждые 30 минут создается событие пульса с идентификатором EventId 654. Для каждого локального соединителя Active Directory командлет ищет соответствующие события пульса за последние три часа. Если событие пульса не найдено, возвращается следующая ошибка:
Учетная запись AD DS не имеет необходимых разрешений
Если учетная запись AD DS, используемая локальным соединителем Active Directory для синхронизации хэшей паролей, не содержит соответствующих разрешений, возвращается следующая ошибка:
Неправильный пароль или имя пользователя учетной записи AD DS
Если учетная запись AD DS, используемая локальным соединителем Active Directory для синхронизации хэшей паролей, содержит неправильный пароль или имя пользователя, возвращается следующая ошибка:
Пароли не синхронизируются одним объектом: устранение неполадок с помощью задачи устранения неполадок
Вы можете использовать задачу устранения неполадок, чтобы определить, почему определенный объект не синхронизирует пароли.
Примечание.
Задача устранения неполадок доступна только для Microsoft Entra Подключение версии 1.1.614.0 или более поздней.
Запуск командлета диагностики
Чтобы устранить неполадки для определенного объекта пользователя, сделайте следующее:
Откройте новый сеанс Windows PowerShell на сервере Microsoft Entra Подключение с параметром запуска от имени Администратор istrator.
Запустите
Set-ExecutionPolicy RemoteSigned
илиSet-ExecutionPolicy Unrestricted
.Запустите мастер Подключение Microsoft Entra.
Перейдите к странице Дополнительные задачи, выберите Устранение неполадок и щелкните Далее.
На странице "Устранение неполадок" щелкните Запуск, чтобы открыть меню устранения неполадок в PowerShell.
В главном меню выберите пункт Troubleshoot password hash synchronization (Устранение неполадок с синхронизацией хэшированных паролей).
Выберите в подменю Пароль не синхронизируется для определенной учетной записи пользователя.
Изучение результатов задачи устранения неполадок
Задача устранения неполадок выполняет следующие проверки.
Проверяет состояние объекта Active Directory в пространстве соединителя Active Directory, Метавселенной и соединительном пространстве Microsoft Entra.
Проверяет, чтобы были включены и применены к объекту Active Directory правила синхронизации паролей для синхронизации хэшированных паролей.
Пытается извлечь и отобразить результаты последней попытки синхронизации паролей для объекта.
На схеме ниже отображаются результаты выполнения командлета для устранения неполадок синхронизации хэшированных паролей для одного объекта:
В оставшейся части этого раздела описываются определенные результаты, возвращенные командлетом, и соответствующие неполадки.
Объект Active Directory не экспортируется в идентификатор Microsoft Entra
Синхронизация хэша паролей для этой учетной записи локальная служба Active Directory завершается ошибкой, так как в клиенте Microsoft Entra отсутствует соответствующий объект. Возвращается следующая ошибка:
У пользователя временный пароль
Старые версии Microsoft Entra Подключение не поддерживали синхронизацию временных паролей с идентификатором Microsoft Entra. Пароль может рассматриваться как временный, если для локального пользователя Active Directory установлен параметр смены пароля при следующем входе в систему. Следующая ошибка возвращается с этими старыми версиями:
Чтобы включить синхронизацию временных паролей, необходимо установить microsoft Entra Подключение версии 2.0.3.0 или более поздней, а также включить функцию ForcePasswordChangeOnLogonLogon.
Результаты последней попытки синхронизации пароля недоступны
По умолчанию Microsoft Entra Подключение сохраняет результаты попытки синхронизации хэша паролей в течение семи дней. Если для выбранного объекта Active Directory результаты недоступны, возвращается следующее предупреждение:
Пароли не синхронизируются: устранение неполадок с помощью командлета диагностики
Вы можете использовать командлет Invoke-ADSyncDiagnostics
, чтобы выяснить, почему не происходит синхронизация паролей.
Примечание.
Командлет Invoke-ADSyncDiagnostics
доступен только для Microsoft Entra Подключение версии 1.1.524.0 или более поздней.
Запуск командлета диагностики
Чтобы устранить неполадки, связанные с синхронизацией паролей, сделайте следующее:
Откройте новый сеанс Windows PowerShell на сервере Microsoft Entra Подключение с параметром запуска от имени Администратор istrator.
Запустите
Set-ExecutionPolicy RemoteSigned
илиSet-ExecutionPolicy Unrestricted
.Выполните
Import-Module ADSyncDiagnostics
.Выполните
Invoke-ADSyncDiagnostics -PasswordSync
.
Пароли не синхронизируются одним объектом: устранение неполадок с помощью командлета диагностики
Вы можете использовать командлет Invoke-ADSyncDiagnostics
, чтобы определить, почему пароли не синхронизируются одним объектом.
Примечание.
Командлет Invoke-ADSyncDiagnostics
доступен только для Microsoft Entra Подключение версии 1.1.524.0 или более поздней.
Запуск командлета диагностики
Чтобы устранить неполадки с синхронизацией паролей определенного пользователя, сделайте следующее:
Откройте новый сеанс Windows PowerShell на сервере Microsoft Entra Подключение с параметром запуска от имени Администратор istrator.
Запустите
Set-ExecutionPolicy RemoteSigned
илиSet-ExecutionPolicy Unrestricted
.Запустите
Import-Module ADSyncDiagnostics
.Выполните следующий командлет:
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"
Пароли не синхронизируются: шаги по устранению неполадок вручную
Чтобы выяснить, почему не происходит синхронизация паролей, выполните следующие действия:
Переведен ли сервер Connect в промежуточный режим? Сервер, находящийся в промежуточном режиме, не синхронизирует пароли.
Выполните сценарий, приведенный в разделе Получение состояния параметров синхронизации паролей. В этом разделе рассматривается конфигурация синхронизации паролей.
Если функция не включена в идентификаторе Microsoft Entra или если состояние канала синхронизации не включено, запустите мастер установки Подключение. Выберите Настроить параметры синхронизациии снимите флажок "Синхронизация паролей". Это изменение приведет к временному отключению функции. Затем снова запустите мастер и повторно включите синхронизацию паролей. Запустите сценарий еще раз, чтобы убедиться, что конфигурация правильная.
Проверьте журнал событий на наличие ошибок. Найдите следующие события, которые могут указывать на проблему:
Источник: "Синхронизация каталогов"
Идентификатор: 0, 611, 652, 655Если вы видите эти события, возникла проблема с подключением. Сообщение в журнале событий содержит сведения о лесе, в котором возникла проблема.
Если нет пульса или не сработали другие методы, то запустите полную синхронизацию всех паролей. Этот сценарий необходимо выполнить только один раз.
Ознакомьтесь с разделом "Пароли не синхронизируются одним объектом".
Проблемы с подключением
У вас есть подключение к идентификатору Microsoft Entra?
Имеет ли учетная запись необходимые разрешения для чтения хэшей паролей во всех доменах? Если при установке Connect вы использовали стандартные параметры, то у вас уже должны быть необходимые разрешения.
Если вы использовали выборочную установку, задайте разрешения вручную следующим образом:
Чтобы найти учетную запись, используемую соединителем Active Directory, запустите Synchronization Service Manager.
Перейдите в раздел Connectors (Соединители), а затем найдите локальный лес Active Directory, в котором устраняются неполадки.
Выберите соединитель и щелкните Properties (Свойства).
Выберите Подключиться к лесу Active Directory.
Запишите имя пользователя и домен, в котором размещена учетная запись.Запустите Пользователи и компьютеры Active Directory и проверьте, чтобы для учетной записи, найденной на предыдущем шаге, в корне всех доменов в лесу были заданы следующие разрешения:
- Репликация изменений каталога
- Репликация всех изменений каталога
Доступны ли контроллеры домена Подключение Microsoft Entra? Если серверу Connect не удается подключиться ко всем контроллерам домена, настройте параметр Only use preferred domain controller (Использовать только предпочтительные контроллеры домена).
Вернитесь в меню Synchronization Service Manager и выберите Configure Directory Partitions (Настройка разделов каталога).
В списке Select directory partitions (Выбор разделов каталога) выберите свой домен, установите флажок Only use preferred domain controllers (Использовать только предпочтительные контроллеры домена), а затем щелкните Configure (Настроить).
В списке введите контроллеры домена, которые должны использоваться в Connect для синхронизации паролей. Тот же список применяется при импорте и экспорте. Выполните эти действия для всех доменов.
Примечание.
Чтобы применить эти изменения, перезапустите службу синхронизации идентификаторов Microsoft Entra (ADSync).
- Если в сценарии отображается отсутствие пульса, тогда запустите сценарий, приведенный в разделе Запуск полной синхронизации всех паролей.
Пароли не синхронизируются одним объектом: шаги по устранению неполадок вручную
Проблемы, связанные с синхронизацией паролей, можно легко диагностировать по состоянию объекта.
В средстве Пользователи и компьютеры Active Directory найдите пользователя, а затем убедитесь в отсутствии флажка для параметра Требовать смены пароля при следующем входе в систему.
Если флажок установлен, пользователь должен войти в систему и сменить пароль. Временные пароли не синхронизируются с идентификатором Microsoft Entra.
Если с паролем в Active Directory все в порядке, отследите пользователя в модуле синхронизации. Следуя за пользователем из локальная служба Active Directory в идентификатор Microsoft Entra, вы можете увидеть, существует ли описательная ошибка в объекте.
a. Запустите Synchronization Service Manager.
b. Щелкните Соединители.
c. Выберите соединитель Active Directory, к которому относится пользователь.
d. Выберите Search Connector Space(Поиск пространства соединителя).
д) В поле Scope (Область) выберите DN or Anchor (Различающееся имя или привязка), а затем введите полное различающееся имя пользователя, для которого требуется устранить неполадки.
f. Найдите нужного пользователя и нажмите кнопку Properties (Свойства), чтобы просмотреть все атрибуты. Если в результатах поиска нет нужного пользователя, то проверьте правила фильтрации и выполните действия, описанные в разделе Примените и проверьте изменения. После этого пользователь должен отобразиться в Connect.
ж. Чтобы просмотреть сведения о синхронизации паролей объекта за прошедшую неделю, щелкните Log (Журнал).
Если журнал объектов пуст, Microsoft Entra Подключение не удалось прочитать хэш паролей из Active Directory. Перейдите к устранению неполадок, описанных в разделе "Проблема подключения". Если состояние имеет значение, отличное от успешного, то воспользуйтесь таблицей в разделе Журнал синхронизации паролей.
h. Выберите вкладку Lineage (Журнал обращений и преобразований) и убедитесь, что по крайней мере для одного правила синхронизации в колонке PasswordSync задано значение True. В конфигурации по умолчанию правило синхронизации имеет имя In from AD - User AccountEnabled.
i. Щелкните Metaverse Object Properties (Свойства объекта метавселенной), чтобы показать список атрибутов пользователя.
Атрибут cloudFiltered должен отсутствовать. Убедитесь, что атрибуты домена (domainFQDN и domainNetBios) имеют ожидаемые значения.
j. Перейдите на вкладку Подключение orors. Убедитесь, что соединители отображаются как для локальная служба Active Directory, так и идентификатора Microsoft Entra.
k. Выберите строку, представляющую идентификатор Microsoft Entra, щелкните "Свойства" и перейдите на вкладку "Происхождение". Объект пространства соединителя должен иметь правило для исходящего трафика в столбце PasswordSync с значением True. В конфигурации по умолчанию имя правила синхронизации — Out to Microsoft Entra ID — User Join.
Журнал синхронизации паролей
В столбце "Состояние" могут содержаться перечисленные ниже значения.
Состояние | Description |
---|---|
Удачное завершение | Пароль успешно синхронизирован |
FilteredByTarget | Для пароля установлено значение Пользователь должен изменить пароль при следующем входе. Пароль не синхронизирован. |
NoTargetConnection | Нет объекта в метавселенной или в пространстве соединителя Microsoft Entra. |
SourceConnectorNotPresent | Объект не найден в локальном пространстве соединителя Active Directory. |
TargetNotExportedToDirectory | Объект в пространстве соединителя Microsoft Entra еще не экспортирован. |
MigratedCheckDetailsForMoreInfo | Запись журнала создана до выхода версии 1.0.9125.0 и отображается в исходном состоянии. |
Ошибка | Служба вернула неизвестную ошибку. |
Неизвестно | Произошла ошибка при попытке обработать пакет хэшей паролей. |
MissingAttribute | Определенные атрибуты (например, хэш Kerberos), необходимые доменным службам Microsoft Entra, недоступны. |
RetryRequestedByTarget | Определенные атрибуты (например, хэш Kerberos), необходимые доменным службам Microsoft Entra, были недоступны ранее. Предпринята попытка повторно синхронизировать хэш пароля пользователя. |
Сценарии, помогающие при устранении неполадок
Получение состояния параметров синхронизации паролей
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
Запуск полной синхронизации всех паролей
Примечание.
Запустите этот сценарий только один раз. Если одного раза мало, то это значит, что проблема в чем-то другом. Для устранения этой проблемы обратитесь в службу поддержки Майкрософт.
Полную синхронизацию всех паролей можно активировать с помощью следующего сценария:
$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