Добрый день, коллеги!
При подготовке к переходу с FRS на DRS-R, обнаружил на одном из DC проблемы с репликацией, а именно с доступностью RPC.
Время запуска сводки по репликации: 2017-05-29 12:07:24
Начат сбор данных для сводки по репликации, подождите:
……
Исходный DSA наиб. дельта сбоев/всего %% ошибка
DC0 19m:02s 0 / 10 0
DC1 19m:02s 0 / 10 0
MDC120 >60 days 5 / 10 50 (1722) Сервер RPC недоступен.
Конечный DSA наиб. дельта сбои/всего %% ошибка
DC0 >60 days 5 / 10 50 (1722) Сервер RPC недоступен.
DC1 13m:48s 0 / 10 0
MDC120 19m:03s 0 / 10 0
Если запустить принудительную синхронизации на всех DC ругается на RPC:
PS C:Windowssystem32> repadmin /syncall Aed
DsBindWithCred to Aed failed with status 1722 (0x6ba):
The RPC server is unavailable.
На проблемном DC0 DCDIAG выдает следующее, на остальных проверка репликации проходит:
Directory Server Diagnosis
Performing initial setup:
Trying to find home server…
Home Server = dc0
* Identified AD Forest.
Done gathering initial info.
Doing initial required tests
Testing server: MoscowDC0
Starting test: Connectivity
……………………. DC0 passed test Connectivity
Doing primary tests
Testing server: MoscowDC0
Starting test: Advertising
……………………. DC0 passed test Advertising
Starting test: FrsEvent
There are warning or error events within the last 24 hours after the SYSVOL has been shared. Failing SYSVOL
replication problems may cause Group Policy problems.
……………………. DC0 passed test FrsEvent
Starting test: DFSREvent
……………………. DC0 passed test DFSREvent
Starting test: SysVolCheck
……………………. DC0 passed test SysVolCheck
Starting test: KccEvent
……………………. DC0 passed test KccEvent
Starting test: KnowsOfRoleHolders
……………………. DC0 passed test KnowsOfRoleHolders
Starting test: MachineAccount
……………………. DC0 passed test MachineAccount
Starting test: NCSecDesc
……………………. DC0 passed test NCSecDesc
Starting test: NetLogons
……………………. DC0 passed test NetLogons
Starting test: ObjectsReplicated
……………………. DC0 passed test ObjectsReplicated
Starting test: Replications
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: DC=ForestDnsZones,DC=xxx,DC=local
The replication generated an error (1256):
The remote system is not available. For information about network troubleshooting, see Windows Help.
The failure occurred at 2017-05-29 12:55:21.
The last success occurred at 2016-11-04 04:28:11.
5133 failures have occurred since the last success.
REPLICATION LATENCY WARNING
ERROR: Expected notification link is missing.
Source MDC120
Replication of new changes along this path will be delayed.
This problem should self-correct on the next periodic sync.
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: DC=DomainDnsZones,DC=xx,DC=local
The replication generated an error (1256):
The remote system is not available. For information about network troubleshooting, see Windows Help.
The failure occurred at 2017-05-29 12:55:21.
The last success occurred at 2016-11-04 04:51:53.
21279 failures have occurred since the last success.
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: CN=Schema,CN=Configuration,DC=xx,DC=local
The replication generated an error (1722):
The RPC server is unavailable.
The failure occurred at 2017-05-29 12:56:45.
The last success occurred at 2016-11-04 04:26:33.
5025 failures have occurred since the last success.
The source MDC120 is responding now.
REPLICATION LATENCY WARNING
ERROR: Expected notification link is missing.
Source MDC120
Replication of new changes along this path will be delayed.
This problem should self-correct on the next periodic sync.
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: CN=Configuration,DC=xx,DC=local
The replication generated an error (1722):
The RPC server is unavailable.
The failure occurred at 2017-05-29 12:56:03.
The last success occurred at 2016-11-04 04:26:33.
5719 failures have occurred since the last success.
The source MDC120 is responding now.
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: DC=xx,DC=local
The replication generated an error (1722):
The RPC server is unavailable.
The failure occurred at 2017-05-29 13:04:06.
The last success occurred at 2016-11-04 04:51:35.
190198 failures have occurred since the last success.
The source MDC120 is responding now.
……………………. DC0 failed test Replications
Starting test: RidManager
……………………. DC0 passed test RidManager
Starting test: Services
……………………. DC0 passed test Services
Starting test: SystemLog
A warning event occurred. EventID: 0x80040020
Time Generated: 05/29/2017 12:24:23
Event String:
The driver detected that the device DeviceHarddisk0DR0 has its write cache enabled. Data corruption may
ccur.
A warning event occurred. EventID: 0x80040020
Time Generated: 05/29/2017 12:24:23
Event String:
The driver detected that the device DeviceHarddisk0DR0 has its write cache enabled. Data corruption may
ccur.
A warning event occurred. EventID: 0x80040020
Time Generated: 05/29/2017 12:24:23
Event String:
The driver detected that the device DeviceHarddisk0DR0 has its write cache enabled. Data corruption may
ccur.
A warning event occurred. EventID: 0x00001796
Time Generated: 05/29/2017 12:24:42
Event String:
Microsoft Windows Server has detected that NTLM authentication is presently being used between clients and
his server. This event occurs once per boot of the server on the first time a client uses NTLM with this server.
……………………. DC0 passed test SystemLog
Starting test: VerifyReferences
……………………. DC0 passed test VerifyReferences
Running partition tests on : ForestDnsZones
Starting test: CheckSDRefDom
……………………. ForestDnsZones passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. ForestDnsZones passed test CrossRefValidation
Running partition tests on : DomainDnsZones
Starting test: CheckSDRefDom
……………………. DomainDnsZones passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. DomainDnsZones passed test CrossRefValidation
Running partition tests on : Schema
Starting test: CheckSDRefDom
……………………. Schema passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. Schema passed test CrossRefValidation
Running partition tests on : Configuration
Starting test: CheckSDRefDom
……………………. Configuration passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. Configuration passed test CrossRefValidation
Running partition tests on : xxx
Starting test: CheckSDRefDom
……………………. xxx passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. xxx passed test CrossRefValidation
Running enterprise tests on : xxx.local
Starting test: LocatorCheck
……………………. xxx.local passed test LocatorCheck
Starting test: Intersite
……………………. xxx.local passed test Intersite
Подскажите в какую сторону копать, полазил по форумам похожая проблемы вызывалась фаерволом или остатками старых DC, но это не мой случай, фаервол отключил для диагностики.
Я делаю по этой статье. Вроде все повысилось без проблем, роли FSMO передал. Но теперь как то надо все проверить
Обновление контроллеров домена до Windows Server 2016
1. Проверяем, что каталоги AD синхронизируются без проблем. Запускаем
repadmin /replsum
Убеждаемся, что в столбце «Fails» нет ошибок, а дельта синхронизации не превышает той, которая настроена между сайтами.
2. Текущий уровень домена и леса должен быть не ниже Windows Server 2008. Если он ниже, то сначала поднимаем уровень домена до 2008 (этого не произойдет, если у вас остались в домене контроллеры, которые работают на Windows Server 2003 или 2003R2). После поднимаем уровень леса до 2008 (также надо предварительно убедиться, что все домены в лесу имеют уровень 2008). Поднятие уровня домена и леса осуществляется через оснастку «Active Directory – домены и доверие».
3. Разворачиваем новый сервер Windows Server 2016. Добавляем его в домен. Задаем статичный IP-адрес и имя хоста.
4. Проверяем, какой тип репликации используется для текущего каталога AD.
Для этого запускаем утилиту ADSI Edit на контроллере домена и подключаемся к «контексту именования по умолчанию». Далее ищем в вашем каталоге текущие контроллеры домена и выбираем один из них. Если вы видите каталог «CN=NTFRS Subscriptions» , значит у вас используется тип репликации «FRS». Если же «CN=DFSR-LocalSettings» – значит используется новый тип репликации DFS-R и тогда 5 шаг мы пропускаем.
5. Получим текущее глобальное состояние миграции DFSR через команду
dfsrmig /getglobalstate
Начинаем процесс миграции. Выполняем команду
dfsrmig /setglobalstate 1
С помощью команды dfsrmig /getmigrationstate проверяем, когда 1 этап миграции завершится на всех контроллерах.
Чтобы ускорить процесс репликации между контроллерами, выполним команды
Repadmin /syncall /AeS
на каждом контроллере
Переходим к следующему этапу:
dfsrmig /setglobalstate 2
И опять ускоряем процесс синхронизации командой
Repadmin /syncall /AeS
Как только команда dfsrmig /getmigrationstate выдаст положительный результат, запускаем заключительный этап
dfsrmig /setglobalstate 3
и повторяем те же действия, чтобы завершить процесс перехода на DFS-R.
6. Делаем новые сервера контроллерами домена: устанавливаем на них роль Active Directory Domain Services и DNS-сервера.
7. Запускаем службу KCC для создания новых связей с новыми контроллерами домена.
repadmin /kcc
и проверяем, что синхронизация проходит без ошибок на каждом из контроллеров
Код:
Repadmin /syncall /AeS
repadmin /replsum
8. Перераспределяем роли FSMO:
Код:
[B]Move-ADDirectoryServerOperationMasterRole -Identity “dc-01” -OperationMasterRole SchemaMaster, DomainNamingMaster
Move-ADDirectoryServerOperationMasterRole -Identity “dc-02” -OperationMasterRole RIDMaster,PDCEmulator, InfrastructureMaster[/B]
где dc-01 и dc-02 новые сервера на WS2016
Еще раз запускаем репликацию на всех контроллерах:
repadmin /syncall /AeS
Командой netdom query fsmo убеждаемся, что все роли переехали на нужные сервера.
9. На новых серверах в настройках сетевых адаптеров указываем в качестве DNS-сервера новые контроллеры домена.
10. Выполняем команду dcpromo на старых контроллерах для понижения уровня сервера. После отключения всех серверов не забываем запустить
Код:
repadmin /kcc
repadmin /syncall /AeS
repadmin /replsum
11. Через оснастку «Active Directory – домены и доверие» поднимаем уровень домена и леса до 2016.
Добрый день, коллеги!
При подготовке к переходу с FRS на DRS-R, обнаружил на одном из DC проблемы с репликацией, а именно с доступностью RPC.
Время запуска сводки по репликации: 2017-05-29 12:07:24
Начат сбор данных для сводки по репликации, подождите:
……
Исходный DSA наиб. дельта сбоев/всего %% ошибка
DC0 19m:02s 0 / 10 0
DC1 19m:02s 0 / 10 0
MDC120 >60 days 5 / 10 50 (1722) Сервер RPC недоступен.
Конечный DSA наиб. дельта сбои/всего %% ошибка
DC0 >60 days 5 / 10 50 (1722) Сервер RPC недоступен.
DC1 13m:48s 0 / 10 0
MDC120 19m:03s 0 / 10 0
Если запустить принудительную синхронизации на всех DC ругается на RPC:
PS C:Windowssystem32> repadmin /syncall Aed
DsBindWithCred to Aed failed with status 1722 (0x6ba):
The RPC server is unavailable.
На проблемном DC0 DCDIAG выдает следующее, на остальных проверка репликации проходит:
Directory Server Diagnosis
Performing initial setup:
Trying to find home server…
Home Server = dc0
* Identified AD Forest.
Done gathering initial info.
Doing initial required tests
Testing server: MoscowDC0
Starting test: Connectivity
……………………. DC0 passed test Connectivity
Doing primary tests
Testing server: MoscowDC0
Starting test: Advertising
……………………. DC0 passed test Advertising
Starting test: FrsEvent
There are warning or error events within the last 24 hours after the SYSVOL has been shared. Failing SYSVOL
replication problems may cause Group Policy problems.
……………………. DC0 passed test FrsEvent
Starting test: DFSREvent
……………………. DC0 passed test DFSREvent
Starting test: SysVolCheck
……………………. DC0 passed test SysVolCheck
Starting test: KccEvent
……………………. DC0 passed test KccEvent
Starting test: KnowsOfRoleHolders
……………………. DC0 passed test KnowsOfRoleHolders
Starting test: MachineAccount
……………………. DC0 passed test MachineAccount
Starting test: NCSecDesc
……………………. DC0 passed test NCSecDesc
Starting test: NetLogons
……………………. DC0 passed test NetLogons
Starting test: ObjectsReplicated
……………………. DC0 passed test ObjectsReplicated
Starting test: Replications
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: DC=ForestDnsZones,DC=xxx,DC=local
The replication generated an error (1256):
The remote system is not available. For information about network troubleshooting, see Windows Help.
The failure occurred at 2017-05-29 12:55:21.
The last success occurred at 2016-11-04 04:28:11.
5133 failures have occurred since the last success.
REPLICATION LATENCY WARNING
ERROR: Expected notification link is missing.
Source MDC120
Replication of new changes along this path will be delayed.
This problem should self-correct on the next periodic sync.
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: DC=DomainDnsZones,DC=xx,DC=local
The replication generated an error (1256):
The remote system is not available. For information about network troubleshooting, see Windows Help.
The failure occurred at 2017-05-29 12:55:21.
The last success occurred at 2016-11-04 04:51:53.
21279 failures have occurred since the last success.
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: CN=Schema,CN=Configuration,DC=xx,DC=local
The replication generated an error (1722):
The RPC server is unavailable.
The failure occurred at 2017-05-29 12:56:45.
The last success occurred at 2016-11-04 04:26:33.
5025 failures have occurred since the last success.
The source MDC120 is responding now.
REPLICATION LATENCY WARNING
ERROR: Expected notification link is missing.
Source MDC120
Replication of new changes along this path will be delayed.
This problem should self-correct on the next periodic sync.
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: CN=Configuration,DC=xx,DC=local
The replication generated an error (1722):
The RPC server is unavailable.
The failure occurred at 2017-05-29 12:56:03.
The last success occurred at 2016-11-04 04:26:33.
5719 failures have occurred since the last success.
The source MDC120 is responding now.
[Replications Check,DC0] A recent replication attempt failed:
From MDC120 to DC0
Naming Context: DC=xx,DC=local
The replication generated an error (1722):
The RPC server is unavailable.
The failure occurred at 2017-05-29 13:04:06.
The last success occurred at 2016-11-04 04:51:35.
190198 failures have occurred since the last success.
The source MDC120 is responding now.
……………………. DC0 failed test Replications
Starting test: RidManager
……………………. DC0 passed test RidManager
Starting test: Services
……………………. DC0 passed test Services
Starting test: SystemLog
A warning event occurred. EventID: 0x80040020
Time Generated: 05/29/2017 12:24:23
Event String:
The driver detected that the device DeviceHarddisk0DR0 has its write cache enabled. Data corruption may
ccur.
A warning event occurred. EventID: 0x80040020
Time Generated: 05/29/2017 12:24:23
Event String:
The driver detected that the device DeviceHarddisk0DR0 has its write cache enabled. Data corruption may
ccur.
A warning event occurred. EventID: 0x80040020
Time Generated: 05/29/2017 12:24:23
Event String:
The driver detected that the device DeviceHarddisk0DR0 has its write cache enabled. Data corruption may
ccur.
A warning event occurred. EventID: 0x00001796
Time Generated: 05/29/2017 12:24:42
Event String:
Microsoft Windows Server has detected that NTLM authentication is presently being used between clients and
his server. This event occurs once per boot of the server on the first time a client uses NTLM with this server.
……………………. DC0 passed test SystemLog
Starting test: VerifyReferences
……………………. DC0 passed test VerifyReferences
Running partition tests on : ForestDnsZones
Starting test: CheckSDRefDom
……………………. ForestDnsZones passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. ForestDnsZones passed test CrossRefValidation
Running partition tests on : DomainDnsZones
Starting test: CheckSDRefDom
……………………. DomainDnsZones passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. DomainDnsZones passed test CrossRefValidation
Running partition tests on : Schema
Starting test: CheckSDRefDom
……………………. Schema passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. Schema passed test CrossRefValidation
Running partition tests on : Configuration
Starting test: CheckSDRefDom
……………………. Configuration passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. Configuration passed test CrossRefValidation
Running partition tests on : xxx
Starting test: CheckSDRefDom
……………………. xxx passed test CheckSDRefDom
Starting test: CrossRefValidation
……………………. xxx passed test CrossRefValidation
Running enterprise tests on : xxx.local
Starting test: LocatorCheck
……………………. xxx.local passed test LocatorCheck
Starting test: Intersite
……………………. xxx.local passed test Intersite
Подскажите в какую сторону копать, полазил по форумам похожая проблемы вызывалась фаерволом или остатками старых DC, но это не мой случай, фаервол отключил для диагностики.
Had to demote a domain controller which was all done cleanly, the problem was it was the replication peer to a remote server and after waiting a while I noticed the remote peer wasn’t syncing. after some troubleshooting and replicating the site topology from one of the correct online servers I was able to get it all replicating OK.
Eventually the whole thing synced and up the AD database updated
So an
repadmin /syncall — works and I get OK results on repadmin /replsummary
However during my troubleshooting I was using:
repadmin /syncall AeD to try get it to pull.. which originally didn’t work but I was getting somewhere from the FSMO role holder doing a repadmin /syncall APeD… however now on all my domain controllers I get this message:
DsBindWithCred to AeD failed with status 1722 (0x6ba)
The RPC server is unavailable.
And yet all the replication appears to be running fine. I was thinking it might be a reference to the old DC which all of the DCs have somehow obtained but really not sure where to check it from..
Обновлено 04.05.2022
Добрый день! Уважаемые читатели и гости одного из лучших IT блогов Pyatilistnik.org. Не так давно я вам подробно рассказывал из каких компонентов и служб состоит Active Directory. Сегодня я хочу дополнить данную публикацию и подробно рассказать про утилиту командной строки Repadmin, благодаря ей я вас научу диагностировать репликацию между контроллерами домена, покажу как находить и решать проблемы в вашей доменной инфраструктуре. Каждый системный администратор, просто обязан ее знать и уметь ей пользоваться, если вы еще не из их числа, то давайте это исправлять.
Что такое Repadmin?
Если вы работаете с несколькими доменами Active Directory или сайтами AD, то вы обязательно столкнетесь с проблемами в какой-то момент, особенно в процессе репликации. Репликация, это самый важный жизненный цикл в доменных службах. Эта репликация важна, так как ее отсутствие может вызвать проблемы с аутентификацией. В свою очередь, это может создать проблемы с доступом к ресурсам в сети. Компания Microsoft это понимает, как никто другой и создала для этих задач отдельную утилиту Repadmin.
Repadmin — это инструмент командной строки, для диагностики и устранения проблем репликации Active Directory. Repadmin можно использовать для просмотра топологии репликации с точки зрения каждого контроллера домена. Кроме того, вы можете использовать Repadmin, чтобы вручную создать топологию репликации, инициировать события репликации между контроллерами домена и просматривать метаданные репликации и векторы актуальности (UTDVEC). Вы также можете использовать Repadmin.exe для мониторинга относительной работоспособности леса доменных служб Active Directory (AD DS).
Как установить Repadmin?
Repadmin.exe встроен в Windows Server 2008 и выше, вы легко найдете его и на Windows Server 2019. Он доступен, если у вас установлена роль AD DS или сервера AD LDS. Он также доступен в клиентских ОС, таких как Windows 10, если вы устанавливаете инструменты доменных служб Active Directory, которые являются частью средств удаленного администрирования сервера (RSAT).
Требования для использования Repadmin
использование Repadmin требует учетных данных администратора на каждом контроллере домена, на который нацелена команда. Члены группы «Администраторы домена» имеют достаточные разрешения для запуска repadmin на контроллерах домена в этом домене. Члены группы «Администраторы предприятия» по умолчанию имеют права в каждом домене леса. Если вы запустите утилиту без необходимых прав, то вы получите сообщение:
Ошибка функции DsBindWithCred для компьютера, состояние ошибки 1753 (0x6d9):
В системе отображения конечных точек не осталось доступных конечных точек.
Вы также можете делегировать конкретные разрешения, необходимые для просмотра и управления состоянием репликации.
Основные ключи Repadmin
Запустите командную строку от имени администратора или откройте PowerShell в режиме администратора и выполните команду:
В результате вы получите справку по утилите.
Теперь опишу вам за что отвечает каждый ключ:
- /kcc — Принудительно проверяет согласованность (Knowledge Consistency Checker (KCC)) на целевых контроллерах домена, чтобы немедленно пересчитать топологию входящей репликации.
- /prp — Можно просматривать и изменять политику репликации паролей (PRP) для контроллеров домена только для чтения (RODC).
- /queue — Отображает запросы входящей репликации, которые необходимо обработать контроллеру домена, чтобы получить последние данные от партнеров по репликации, у которых более свежие данные.
- /replicate — Запускает немедленную репликацию указанного раздела каталога на целевой контроллер домена с исходного контроллера домена.
- /replsingleobj — Реплицирует один (отдельный) объект между любыми двумя контроллерами домена, которые имеют общие разделы каталога.
- /replsummary — Операция replsummary быстро и кратко обобщает состояние репликации и относительную работоспособность леса. Определяет контроллеры домена, которые не выполняют входящую или исходящую репликацию, и суммирует результаты в отчете.
- /rodcpwdrepl — Запускает репликацию паролей для заданных пользователей с источника (контроллера домена концентратора) на один или более доступных только для чтения контроллер домена.
- /showattr — Отображает атрибуты объекта.
- /showobjmeta — Отображает метаданные репликации для указанного объекта, хранящиеся в Active Directory, например, идентификатор атрибута, номер версии, исходящий и локальный USN, а также глобальный уникальный идентификатор GUID исходящего сервера (сервера-отправителя) и метку даты и времени.
- /showrepl — Отображает состояние репликации, когда указанный контроллер домена последний раз пытался выполнить входящую репликацию разделов Active Directory.
- /showutdvec — Отображает наибольший поддерживаемый последовательный номер обновления (USN), который в указанной копии контроллера домена Active Directory показан как поддерживаемый для этой копии и транзитивных партнеров.
- /syncall Синхронизирует указанный контроллер домена со всеми партнерами репликации.
Дополнительные параметры
- /u: — Указание домена и имени пользователя с обратной косой чертой в качестве разделителя {доменпользователь}, у которого имеются разрешения на выполнение операций Active Directory. UPN-вход не поддерживается.
- /pw:— Задание пароля для пользователя, указанного в параметре /u.
- /retry — Этот параметр вызывает повтор попытки создать привязку к конечному контроллеру домена, когда при первой попытке произошел сбой с одним из следующих состояний ошибки ( 1722 0x6ba : «Сервер RPC недоступен» или 1753 / 0x6d9 : «Отсутствуют конечные точки, доступные из сопоставителя конечных точек»)
- /csv — Применяется с параметром /showrepl для вывода результатов в формате значений, разделенных запятыми (CSV).
Просмотр общего состояния репликации
Эта команда быстро покажет вам общее состояние репликации.
В результате вы увидите присутствуют ли у вас сбои при репликации. временные дельты, количество ошибок. Вы можете заметите, что отчет разделен на два основных раздела — DSA-источник и DSA-адресат.
Обратите внимание, что одни и те же серверы перечислены в обоих разделах. Причина этого заключается в том, что Active Directory использует модель с несколькими основными доменами. Другими словами, обновления Active Directory могут быть записаны на любой контроллер домена (с заметными исключениями контроллеры домена только для чтения). Эти обновления затем реплицируются на другие контроллеры домена в домене. По этой причине вы видите одинаковые контроллеры домена в списке как DSA-источника, так и получателя. Если бы мой домен содержал какие-либо контроллеры домена только для чтения, они были бы перечислены только в разделе DSA назначения.
Сводный отчет о репликации не просто перечисляет контроллеры домена, в нем также перечислены самые большие дельты репликации. Вы также можете просмотреть общее количество попыток репликации, которые были недавно предприняты, а также количество неудачных попыток и увидеть процент попыток, которые привели к ошибке.
repadmin /replsummary /bysrc
Ключ /bysrc — Суммирует состояние репликации для всех контроллеров домена, на которые реплицирует данный исходный контроллер домена. В отчете вы получите данные только по исходному DSA.
repadmin /replsummary /bydest
Ключ /bydest — Суммирует состояние репликации для всех контроллеров домена, с которых реплицирует данный целевой контроллер домена. Отображает только конечный DSA.
Ключ /sort — Сортирует выходные данные по столбцам.
- delta: сортирует результаты в соответствии с наименьшим значением дельта для каждого контроллера домена источника или назначения.
- partners: сортирует список результатов по количеству партнеров по репликации для каждого контроллера домена.
- failures: сортирует список результатов по количеству сбоев репликации партнеров для каждого контроллера домена.
- error: сортирует список результатов по последнему результату репликации (коду ошибки), который блокирует репликацию для каждого контроллера домена. Это поможет вам устранить причину сбоя для контроллеров домена, которые выходят из строя с общими ошибками.
- percent: сортирует список результатов по проценту ошибок репликации партнера для каждого контроллера домена. (Это рассчитывается путем деления количества отказов на общее количество попыток, а затем умножения на 100; то есть отказы/общее число попыток *100.) Это поможет вам расставить приоритеты в работе по устранению неполадок путем определения контроллеров домена, которые испытывают самую высокую частота ошибок репликации.
- unresponsive: сортирует список результатов по именам партнеров, которые не отвечают на запросы репликации для каждого контроллера домена.
Пример применения дополнительных ключей
repadmin /replsummary /bysrc /bydest /sort:delta
Вы можете указать параметры /bysrc и /bydest одновременно. В этом случае Repadmin сначала отображает таблицу параметров /bysrc, а затем таблицу параметров /bydest. Если оба параметра / bysrc и /bydest отсутствуют, то Repadmin отображает параметр с наименьшим количеством ошибок партнеров.
Вот пример ошибки «1722: The RPC server is unavailable», которую может показать repadmin с ключом replsummary.
Просмотр топологии репликации и ошибки
Команда repadmin /showrepl помогает понять топологию и ошибки репликации. Он сообщает, о состоянии каждого исходного контроллера домена, с которого у получателя есть объект входящего соединения. Отчет о состоянии делится на разделы каталога.
Административная рабочая станция, на которой вы запускаете Repadmin, должна иметь сетевое подключение удаленного вызова процедур (RPC) ко всем контроллерам домена, на которые нацелен параметр DSA_LIST. Ошибки репликации могут быть вызваны исходным контроллером домена, контроллером домена назначения или любым компонентом процесса репликации, включая базовую сеть.
Команда отображает GUID каждого объекта, который был первоначально реплицирован, а также результат репликации. Это полезно, чтобы обнаружить возможные проблемы. Как видите в моем примере, все репликации успешно пройдены. Если хотите получить максимально подробную информацию, о топологии репликации, то добавьте ключ «*».
В моем примере вы можете увидеть ошибку:
Repadmin: выполнение команды /Showrepl контроллере домена dc03.child.root.pyatilistnik.org с полным доступом
Ошибка LDAP: 82 (Локальная ошибка) ошибка Win32: 8341. (The target principal name is incorrect)
В приведенном выше примере решение проблемы заключается в остановке службы «Центр распространения ключей Kerberos (Kerberos key distribution center)«. Запустите ее. В редких случаях может потребоваться перезапустить службу «Доменные службы Active Directory«. Затем перезапустите процесс репликации через сайты и службы Active Directory. Проверьте свои журналы, и репликация должна быть успешной. Так же вы можете использовать и дополнительные ключи:
- DSA_LIST — Задает имя хоста контроллера домена или списка контроллеров домена, разделенных в списке одним пробелом.
- Source DSA object GUID — GUID исходного объекта DSA. Указывает уникальное шестнадцатеричное число, которое идентифицирует объект, чьи события репликации перечислены.
- Naming Context (Контекст именования) — Определяет отличительное имя раздела каталога для репликации.
- /verbose — Отображает дополнительную информацию об исходных партнерах, от которых контроллер домена назначения выполняет входящую репликацию. Информация включает в себя полностью уточненное CNAME, идентификатор вызова, флаги репликации и значения порядкового номера обновления (USN) для исходных обновлений и реплицированных обновлений.
- /NoCache — Указывает, что глобально уникальные идентификаторы (GUID) остаются в шестнадцатеричной форме. По умолчанию GUID переводятся в строки.
- /repsto — Перечисляет контроллеры домена-партнера, с которыми целевые контроллеры домена используют уведомление об изменении для выполнения исходящей репликации. (Контроллеры домена-партнера в этом случае являются контроллерами домена на том же сайте Active Directory, что и исходный контроллер домена, и контроллеры домена, которые находятся на удаленных сайтах, на которых включено уведомление об изменениях.) Этот список добавляется в разделе СОБСТВЕННЫЕ СОСЕДИ ДЛЯ УВЕДОМЛЕНИЙ ОБ ИЗМЕНЕНИЯХ (OUTBOUND NEIGHBORS FOR CHANGE NOTIFICATIONS ).
- /conn — Добавляет раздел KCC CONNECTION OBJECTS в Repadmin, в котором перечислены все соединения и причины их создания.
- /all — Запускается как /repsto и Conn параметры.
- /errorsonly — Отображает состояние репликации только для исходных контроллеров домена, с которыми конечный контроллер домена сталкивается с ошибками репликации.
- /intersite — Отображает состояние репликации для подключений от контроллеров домена на удаленных сайтах, с которых контроллер домена, указан в параметре DSA_LIST, выполняет входящую репликацию.
- /CSV — Экспорт или вывод результатов в формате с разделителями-запятыми (CSV).
Просмотр очереди репликации
Бывают ситуации при которых у вас может возникать очередь на входящие запросы репликации. Основными причинами могут выступать:
- Слишком много одновременных партнеров по репликации
- Высокая скорость изменения объектов в доменных службах Active Directory (AD DS), предположим что у вас одновременно с помощью скрипта было сформировано 1000 новых групп или создано 1000 пользователей.
- Недостаточная пропускная способность CPU или сети, которые реплицирует контроллер домена
Чтобы посмотреть очередь репликации на контроллере домена, вам нужно воспользоваться ключом /Queue:
Чаще всего у вас количество объектов в очереди будет нулевым, но если сайтов много, то могут быть небольшие очереди. Если вы заметили элементы, стоящие в очереди, и они никак не очищаются, у вас есть проблема. Вот пример сообщения, где очередь репликации не равна нулю.
Repadmin: выполнение команды /queue контроллере домена localhost с полным доступом
Очередь содержит 1 элементов.
Текущая задача начала выполняться в 2020-02-18 11:41:07.
Задача выполняется 0 мин 0 сек.
[[412] Поставлено в очередь 2020-02-18 11:41:07 с приоритетом 250
SYNC FROM SOURCE
NC DC=root,DC=pyatilistnik,DC=org
DSA Default-First-Site-NameDC01
GUID объекта DSA 92925497-671b-44f0-8d13-420fc4d5bbd1
адр. транспорта DSA 92925497-671b-44f0-8d13-420fc4d5bbd1._msdcs.root.pyatilistnik.org
ASYNCHRONOUS_OPERATION WRITEABLE NOTIFICATION
Принудительная проверка топологии репликации
Repadmin умеет принудительно проверять топологию репликации на каждом целевом контроллере домена, чтобы немедленно пересчитать топологию входящей репликации.
По умолчанию каждый контроллер домена выполняет этот пересчет каждые 15 минут и если есть проблемы вы можете видеть в логах Windows событие с кодом 1311.
Выполните эту команду для устранения ошибок KCC или для повторной оценки необходимости создания новых объектов подключения от имени целевых контроллеров домена.
так же можно запустить для определенного сайта для этого используется параметр site:
Repadmin: выполнение команды /kcc контроллере домена dc01.root.pyatilistnik.org с полным доступом
Root
Текущий Параметры сайта: (none)
Проверка согласованности на dc01.root.pyatilistnik.org выполнена успешно.
Repadmin: выполнение команды /kcc контроллере домена dc03.child.root.pyatilistnik.org с полным доступом
Default-First-Site-Name
Текущий Параметры сайта: (none)
Проверка согласованности на dc03.child.root.pyatilistnik.org выполнена успешно.
Repadmin: выполнение команды /kcc контроллере домена dc02.root.pyatilistnik.org с полным доступом
Root
Текущий Параметры сайта: (none)
Проверка согласованности на dc02.root.pyatilistnik.org выполнена успешно.
Repadmin: выполнение команды /kcc контроллере домена dc04.child.root.pyatilistnik.org с полным доступом
Default-First-Site-Name
Текущий Параметры сайта: (none)
Проверка согласованности на dc04.child.root.pyatilistnik.org выполнена успешно.
У /kcc есть дополнительный ключ /async — Указывает, что репликация является асинхронной. То есть Repadmin запускает событие репликации, но не ожидает немедленного ответа от контроллера домена назначения. Используйте этот параметр для запуска KCC, если вы не хотите ждать окончания работы KCC. Repadmin /kcc обычно запускается без параметра /async.
Как принудительно запустить репликацию Active Directory
Бывают ситуации, когда вам необходимо произвести форсированное обновление на контроллере домена. Для этого есть специальный ключ /syncall. Для того, чтобы выполнить синхронизацию нужного контроллера домена со всеми его партнерами по репликации, вам необходимо на нем выполнить команду:
На выходе вы получите статус репликации и количество ошибок, выглядит это вот так:
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Сейчас выполняется следующая репликация:
От: 007a5ee4-a454-4029-bc9b-0c4a8b4efbd1._msdcs.root.pyatilistnik.org
Кому: 5fc9cc16-b994-426d-81c8-c9ff27f29976._msdcs.root.pyatilistnik.org
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Следующая репликация успешно завершена:
От: 007a5ee4-a454-4029-bc9b-0c4a8b4efbd1._msdcs.root.pyatilistnik.org
Кому: 5fc9cc16-b994-426d-81c8-c9ff27f29976._msdcs.root.pyatilistnik.org
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Сейчас выполняется следующая репликация:
От: a76336ac-2fe6-4dc8-b9d3-23a5b0d22b77._msdcs.root.pyatilistnik.org
Кому: 92925497-671b-44f0-8d13-420fc4d5bbd1._msdcs.root.pyatilistnik.org
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Следующая репликация успешно завершена:
От: a76336ac-2fe6-4dc8-b9d3-23a5b0d22b77._msdcs.root.pyatilistnik.org
Кому: 92925497-671b-44f0-8d13-420fc4d5bbd1._msdcs.root.pyatilistnik.org
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Сейчас выполняется следующая репликация:
От: 5fc9cc16-b994-426d-81c8-c9ff27f29976._msdcs.root.pyatilistnik.org
Кому: 92925497-671b-44f0-8d13-420fc4d5bbd1._msdcs.root.pyatilistnik.org
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Следующая репликация успешно завершена:
От: 5fc9cc16-b994-426d-81c8-c9ff27f29976._msdcs.root.pyatilistnik.org
Кому: 92925497-671b-44f0-8d13-420fc4d5bbd1._msdcs.root.pyatilistnik.org
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Завершена операция SyncAll.
Команда SyncAll завершена без ошибок.
Если имеются какие-то проблемы, то вы можете увидеть подобного рода ошибки:
Функция SyncAll сообщает о следующих ошибках:
Ошибка обращения к серверу 5fc9cc16-b994-426d-81c8-c9ff27f29976._msdcs.root.pyatilistnik.org (сетевая ошибка): 17
ba):
Сервер RPC недоступен.
так же repadmin /syncall имеет ряд флагов:
- /a — прерывается, если какой-либо сервер недоступен.
- /A — Синхронизирует все контексты именования, хранящиеся на домашнем сервере
- /d — Идентифицирует серверы по отличительным именам в сообщениях.
- /e — Синхронизирует контроллеры домена на всех сайтах предприятия. По умолчанию эта команда не синхронизирует контроллеры домена на других сайтах.
- /h — Отображение справки.
- /i — запускает бесконечный цикл синхронизации
- /I — Запускает команду repadmin /showrepl на каждой паре серверов вместо синхронизации.
- /j — Синхронизирует только соседние серверы.
- /p — Пауза после каждого сообщения, чтобы пользователь мог прервать выполнение команды.
- /P — Выдвигает изменения наружу от указанного контроллера домена.
- /q — Работает в тихом режиме, который подавляет сообщения обратного вызова.
- /Q — Работает в очень тихом режиме, который сообщает только о фатальных ошибках.
- /s — не синхронизируется.
- /S — Пропускает начальную проверку ответа сервера.
Предположим, что вы внесли важное изменение в AD и хотите его максимально быстро распространить. для этого запустите на актуальном контроллере:
Экспорт результатов в текстовый файл
Иногда Repadmin отображает много информации. Вы можете экспортировать любой из приведенных выше примеров в текстовый файл, это немного упрощает последующее рассмотрение или сохранение для документации. Для этого используется инструкция «> путь до файла». Вот пример команд:
@echo off
chcp 855
repadmin /replsummary > c:tempreplsummary.log
repadmin /syncall > c:tempsyncall.txt
repadmin /Queue > c:tempQueue.txt
repadmin /istg * /verbose > c:tempistg.txt
repadmin /bridgeheads * /verbose > c:tempbridgeheads.txt
chcp 855 используется, чтобы у вас не было кракозябр вместо русского текста.
Как посмотреть количество изменений атрибутов
Хотя команда repadmin /showobjmeta отображает количество изменений атрибутов объекта и контроллер домена, которые вносили эти изменения, команда repadmin /showattr отображает фактические значения для объекта. Команда repadmin /showattr также может отображать значения для объектов, которые возвращаются запросом LDAP-протокола.
На объект может ссылаться его distinguished name или глобальный уникальный идентификатор объекта (GUID).
По умолчанию repadmin /showattr использует порт 389 LDAP для запроса доступных для записи разделов каталога. Однако repadmin /showattr может дополнительно использовать порт 3268 LDAP для запроса разделов, доступных только для чтения, на сервере глобального каталога. (Советую освежить в памяти какие порты использует Active Directory).
Основные параметры команды:
- <DSA_LIST> — Задает имя хоста контроллера домена или списка контроллеров домена, разделенных в списке одним пробелом.
- <OBJ_LIST> — Определяет различающееся имя или GUID объекта для объекта, атрибуты которого вы хотите перечислить. Когда вы выполняете запрос LDAP из командной строки, этот параметр формирует базовый путь различаемого имени для поиска. Заключите в кавычки отличительные имена, содержащие пробелы.
- /atts — Возвращает значения только для указанных атрибутов. Вы можете отображать значения для нескольких атрибутов, разделяя их запятыми.
- /allvalues — Отображает все значения атрибутов. По умолчанию этот параметр отображает только 20 значений атрибута для атрибута.
- /gc — Указывает использование TCP-порта 3268 для запроса разделов глобального каталога только для чтения.
- /long — Отображает одну строку для каждого значения атрибута.
- /dumpallblob — Отображает все двоичные значения атрибута. Эта команда похожа на /allvalues, но отображает двоичные значения атрибутов.
В следующем примере выполняется запрос к конкретному контроллеру домена.
repadmin /showattr dc01 «dc=root,dc=pyatilistnik,dc=org»
В следующем примере запрашиваются все контроллеры домена, имена компьютеров которых начинаются с dc, и показывает значение для определенного атрибута msDS-Behavior-Version, который обозначает функциональный уровень домена.
Repadmin /showattr dc* «dc=root,dc=pyatilistnik,dc=org» /atts:msDS-Behavior-Version
В следующем примере запрашивается один контроллер домена с именем dc01 и возвращается версия операционной системы и версия пакета обновления для всех компьютеров с целевым идентификатором основной группы = 516.
repadmin /showattr dc01 ncobj:domain: /filter:»(&(objectCategory=computer)(primaryGroupID=516))» /subtree /atts:
operatingSystem,operatingSystemVersion,operatingSystemServicePack
Как посмотреть время последней резервной копирования Active Directory
Как посмотреть RPC-вызовы, на которые еще не ответили
Как посмотреть топологию репликации
repadmin /bridgeheads * /verbose
Если есть проблемы с репликацией, то можете получать ошибку «The remote system is not available. For information about network troubleshooting, see Windows Help.»
Как сгенерировать топологию сайтов Active Directory
repadmin /istg * /verbose
Если есть проблемы с репликацией, то тут вы можете видеть ошибки: LDAP error 81 (Server Down) Win32 Err 58.
На этом у меня все, мы с вами разобрали очень полезную утилиту, которая позволит вам быть в курсе статуса репликации вашей Active Directory. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.