Active Directory (AD) — это надёжный, но одновременно сложный и критичный сервис, от работы которого зависит функционирование всей корпоративной сети. Поэтому системный администратор должен регулярно следить за состоянием контроллеров домена и репликацией AD. В этой статье рассмотрим основные методики для проверки и диагностики здоровья домена Active Directory, контроллеров домена и процесса репликации.
Приобрести оригинальные ключи активации Windows Server можно у нас в магазине от 1190 ₽
Скачать дистрибутивы Windows Server можно у нас в каталоге.
Базовая утилита для проверки состояния контроллеров домена — это dcdiag.
Чтобы быстро проверить состояние конкретного контроллера домена AD, используйте команду:
dcdiag /s:DC01
Эта команда выполняет различные тесты контроллера домена и возвращает статус по каждому тесту (Passed|Failed). Основные тесты включают:
— Connectivity — проверяет подключение к DNS, LDAP и RPC;
— Advertising — проверяет роли и сервисы, опубликованные на DC;
— FRSEvent — проверяет ошибки репликации файлов (SYSVOL);
— FSMOCheck — проверяет доступность серверов с ролями FSMO;
— MachineAccount — проверяет учетную запись контроллера домена;
— NetLogons – проверка наличие прав на выполнение репликации;
— Replications — проверяет статус репликации между контроллерами;
— KnowsOfRoleHolders – проверяет доступность контроллеров домена с ролями FSMO;
— Services – проверяет, запущены ли на контроллере домена необходимые службы;
— Systemlog — проверяет ошибки в системных журналах.
Помимо стандартных тестов, которые выполняются по-умолчанию, можно выполнить дополнительные проверки контроллера домена:
Topology – проверяет, что KCC сгенерировал полную топологию для всех DC;
CheckSecurityError
CutoffServers – находит DC, который не получает репликацию из-за того, что партнёр недоступен;
VerifyReplicas – проверяет корректность репликации разделов приложения;
VerifyEnterpriseReferences
OutboundSecureChannels
DNS – доступны 6 проверок службы DNS (/DnsBasic, /DnsForwarders, /DnsDelegation, /DnsDymanicUpdate, /DnsRecordRegistration, /DnsResolveExtName)
Вы можете запустить расширенные проверки контроллера домена, например, для проверки службы DNS на всех DC:
dcdiag.exe /s:DC01 /test:dns /e /v
В результате должна появится сводная таблица по проверкам разрешения имен службой DNS на всех контроллерах (если все ОК, везде должно быть Pass). Если где-то будет указано Fail, нужно выполнить проверку этого теста на указанном DC:
dcdiag.exe /s:DC01 /test:dns /DnsForwarders /v
Если необходимо сохранить результаты тестов в текстовый файл для дальнейшего анализа, используйте команду:
dcdiag /s:DC01 /v >> c:\ps\dc01_dcdiag_test.log
Для вывода только информации о выполненных тестах можно воспользоваться PowerShell:
Dcdiag /s:DC01 | select-string -pattern '\. (.*) \b(passed|failed)\b test (.*)'
Чтобы проверить состояние всех контроллеров домена, используйте:
dcdiag.exe /s:winitpro.ru /a
Для вывода только найденных ошибок выполните команду:
dcdiag.exe /s:dc01 /q
В случае обнаружения ошибок, таких как проблемы с репликацией SYSVOL, вы можете попытаться автоматически исправить ошибки с помощью:
dcdiag.exe /s:dc01 /fix
Для проверки репликации в домене используется встроенная утилита repadmin.
Базовая команда для проверки репликации:
repadmin /replsum
Эта команда возвращает сводку статуса репликации между всеми контроллерами домена. В идеале значение largest delta не должно превышать 1 час (в зависимости от настройки частоты репликации), а количество ошибок должно быть равно 0. В нашем примере видно, что одна из последних репликаций заняла 14 дней, но сейчас все OK.
Для проверки репликации между всеми DC выполните:
repadmin /replsum *
Чтобы проверить межсайтовую репликацию, используйте:
repadmin /showism
Для просмотра топологии репликации и возможных ошибок выполните:
repadmin /showrepl
Эта команда возвращает время последней успешной репликации для каждого раздела каталога. Для вывода расширенной информации используйте:
repadmin /showrepl *
Для запуска репликации паролей с обычного контроллера домена на контроллер домена на чтение (RODC) используется ключ /rodcpwdrepl.
Опция /replicate позволяет запустить немедленную репликацию указанного раздела каталога на определенный DC.
Для запуска синхронизации указанного DC со всеми партнерами по репликации, используйте команду:
replmon /syncall
Для просмотра очереди репликации выполните:
repadmin /queue
Очередь репликации должна быть пуста в нормальном состоянии.
Также вы можете проверить время последнего резервного копирования контроллеров домена:
repadmin /showbackup *
Вы можете проверить состояние репликации с помощью PowerShell. Например, чтобы вывести все обнаруженные ошибки репликации в таблице:
Get-ADReplicationPartnerMetadata -Target * -Partition * | Select-Object Server,Partition,Partner,ConsecutiveReplicationFailures,LastReplicationSuccess,LastReplicationResult | Out-GridView
Можно использовать кастомный скрипт, для проверки состояния репликации в AD. Скрипт генерирует html файл и может отправить его на указанный email с помощью командлета Send-MailMessage.
Дополнительно можно проверить состояние типовых служб на контроллере домена, таких как ADDS, DNS и NetLogon:
Get-Service -name ntds,adws,dns,dnscache,kdc,w32time,netlogon -ComputerName dc03
Заключение:
Регулярная проверка состояния контроллеров домена и репликации Active Directory — важная задача, которая позволяет своевременно выявить проблемы и предотвратить сбои в работе AD. Утилиты dcdiag и repadmin предоставляют удобные инструменты для диагностики и исправления ошибок в домене, что позволяет поддерживать стабильность сети.