Проверка состояния контроллера домена Active Directory и репликации

Active Directory – это надежная, но сложная и критически важная служба, от которой зависит работоспособность всей корпоративной сети. Системный администратор должен постоянно проверять, правильно ли работает Active Directory. В этой статье мы рассмотрим основные методы как проверить и диагностировать работоспособность Active Directory домена, контроллеров домена и репликации.

Как проверить состояние контроллера домена AD с помощью Dcdiag?

Dcdiag это базовый встроенный инструмент для проверки состояния контроллера домена Active Directory. Чтобы быстро проверить состояние контроллера домена AD, используйте приведенную ниже команду:

dcdiag /s:DC01

Команда запускает различные тесты на указанном контроллере домена и возвращает состояние для каждого теста (Пройден/Не удалось).

Типичные тесты:

  • Связь – проверяет, зарегистрирован ли DC в DNS, устанавливает тестовые LDAP- и RPC-соединения;
  • Реклама – проверяет роли и услуги, опубликованные на DC;
  • FRSEvent – проверяет наличие ошибок службы репликации файлов (ошибки репликации SYSVOL);
  • FSMOCheck – проверяет, может ли DC подключиться к KDC, PDC и серверу глобального каталога;
  • MachineAccount – проверяет, правильно ли зарегистрирована учетная запись DC в AD и корректны ли отношения доверия в домене;
  • NetLogons – проверяет привилегии входа в систему, чтобы разрешить репликацию;
  • Репликации – проверяет состояние репликации между контроллерами домена и наличие ошибок;
  • KnowsOfRoleHolders – проверяет доступность контроллеров домена с ролями FSMO;
  • Службы – проверяет, запущены ли службы на контроллерах домена;
  • Системный журнал – проверяет, нет ли ошибок в журналах DC;
  • и т. д.

Тестирование работоспособности контроллеров домена AD с помощью dcdiag.exe

Вы можете найти полное описание всех доступных тестов dcdiag здесь.

Помимо стандартных тестов, можно запустить дополнительные проверки контроллера домена:

  • Топология – проверяет, сгенерировал ли KCC полную топологию для всех DC
  • CheckSecurityError
  • CutoffServers – находит DC, который не реплицируется, поскольку его партнер недоступен
  • DNS – Доступны 6 проверок DNS (/DnsBasic, /DnsForwarders, /DnsDelegation, /DnsDymanicUpdate, /DnsRecordRegistration, /DnsResolveExtName)
  • OutboundSecureChannels
  • VerifyReplicas – проверяет правильность репликации разделов приложения
  • VerifyEnterpriseReferences

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

dcdiag.exe /s:DC01 /test:dns /e /v

dcdiag dns tests

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

dcdiag.exe /s:DC01 /test:dns /DnsForwarders /v

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

dcdiag /s:DC01 /v >> c:\ps\dc01_dcdiag_test.log

файл журнала dcdiag

Следующая команда PowerShell отображает только краткую информацию о выполненных тестах dcdiag:

Dcdiag /s:DC01 | select-string -pattern '\. (.*) \b(passed|failed)\b test (.*)'

Dcdiag summary report powershell script

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

dcdiag.exe /s:woshub.com /a

Если вы хотите отобразить только найденные ошибки, воспользуйтесь командой /q вариант:

dcdiag.exe /s:dc01 /q

dcdiag неудачный тест

В моем примере инструмент обнаружил несколько ошибок репликации:

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.
......................... DC01 failed test DFSREvent

Чтобы dcdiag автоматически исправлял ошибки Service Principal Names для учетной записи DC, используйте параметр /fix вариант:

dcdiag.exe /s:dc01 /fix

Проверка ошибок репликации Active Directory между DC

Встроенный repadmin инструмент используется для проверки репликации в домене Active Directory.

Вот основная команда для проверки репликации AD:

repadmin /replsum

repadmin /replsummary - проверка репликации active directory

Инструмент возвращает текущий статус репликации между всеми DC. В идеале наибольшая дельта должна быть меньше 1 часа (зависит от топологии AD и настроек частоты межсайтовой репликации), а количество ошибок = 0. В моем примере видно, что одна из последних репликаций заняла 14 дней, но теперь все в порядке.

Чтобы проверить репликацию для всех DC в домене:

repadmin /replsum *

Для проверки межсайтовой репликации:

repadmin /showism

Чтобы просмотреть топологию репликации и ошибки (если они есть), выполните эту команду:

repadmin /showrepl

Команда проверит DC и вернет время и дату последней успешной репликации для каждого раздела каталога (last attempt xxxx was successful).

Repadmin /showrepl - статус репликации. показывает, когда контроллер домена в последний раз пытался выполнить входящую репликацию Active Directory.

Чтобы отобразить дополнительную информацию о репликации, используйте эту команду:

repadmin /showrepl *

Чтобы запустить репликацию паролей с контроллера домена с возможностью записи на контроллер домена только для чтения (RODC), необходимо выполнить команду /rodcpwdrepl используется опция.

Сайт /replicate опция запускает репликацию указанного раздела каталога на определенный DC немедленно.

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

replmon /syncall <nameDC>

Чтобы просмотреть очередь репликации:

repadmin /queue

В идеале очередь репликации должна быть пустой.

Мониторинг очередей репликации AD (repadmin /queue)

Проверьте, когда была создана последняя резервная копия текущего контроллера домена:

Repadmin /showbackup *

Также можно проверить состояние репликации с помощью PowerShell. Например, следующая команда отобразит все найденные ошибки репликации в таблице Out-GridView:

Get-ADReplicationPartnerMetadata -Target * -Partition * | Select-Object Server,Partition,Partner,ConsecutiveReplicationFailures,LastReplicationSuccess,LastRepicationResult | Out-GridView

Get-ADReplicationPartnerMetadata показывает объект метаданных партнера по репликации для каждого из партнеров по репликации (контроллеров домена)

Я загрузил сценарий PowerShell, который я часто использую для проверки состояния репликации в AD, в свой репозиторий GitHub. Сценарий генерирует HTML-файл и может быть отправлен по электронной почте с помощью команды Send-MailMessage.

https://github.com/maxbakhub/winposh/blob/main/ADHealthCheck.ps1

Скрипт powershell: получение сводного отчета о состоянии репликации

Также можно проверить состояние основных служб ADDS на контроллере домена с помощью команды Get-Service:

  • Службы домена Active Directory (ntds)
  • Веб-службы Active Directory (adws) – все команды модуля AD PowerShell подключаются к этой службе
  • DNS (dnscache и dns)
  • Центр распределения ключей Kerberos (kdc)
  • Служба времени Windows (w32time)
  • NetLogon (netlogon)

Get-Service -name ntds,adws,dns,dnscache,kdc,w32time,netlogon -ComputerName dc01

получить состояния служб на контроллере домена

Итак, в этой статье мы показали основные инструменты, команды и сценарии PowerShell, которые можно использовать для диагностики состояния домена Active Directory. Их можно использовать во всех поддерживаемых версиях Windows Server, включая контроллеры домена, работающие в режиме Server Core.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *