
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;
- и т. д.
Помимо стандартных тестов, можно запустить дополнительные проверки контроллера домена:
- Топология – проверяет, сгенерировал ли 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
В результате появится сводная таблица с результатами тестирования того, как DNS разрешает имена на всех DC (если все в порядке, вы увидите Пройти в каждой клетке). Если вы видите Провал, необходимо запустить этот тест на указанном DC:
dcdiag.exe /s:DC01 /test:dns /DnsForwarders /v
Чтобы получить дополнительную информацию о результатах тестирования контроллера домена и сохранить ее в текстовом файле, используйте эту команду:
dcdiag /s:DC01 /v >> c:\ps\dc01_dcdiag_test.log
Dcdiag /s:DC01 | select-string -pattern '\. (.*) \b(passed|failed)\b test (.*)'
Чтобы получить состояние всех контроллеров домена, используйте:
dcdiag.exe /s:woshub.com /a
Если вы хотите отобразить только найденные ошибки, воспользуйтесь командой /q вариант:
dcdiag.exe /s:dc01 /q
В моем примере инструмент обнаружил несколько ошибок репликации:
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
Инструмент возвращает текущий статус репликации между всеми DC. В идеале наибольшая дельта должна быть меньше 1 часа (зависит от топологии AD и настроек частоты межсайтовой репликации), а количество ошибок = 0. В моем примере видно, что одна из последних репликаций заняла 14 дней, но теперь все в порядке.
Чтобы проверить репликацию для всех DC в домене:
repadmin /replsum *
Для проверки межсайтовой репликации:
repadmin /showism
Чтобы просмотреть топологию репликации и ошибки (если они есть), выполните эту команду:
repadmin /showrepl
Команда проверит DC и вернет время и дату последней успешной репликации для каждого раздела каталога (last attempt xxxx was successful
).
repadmin /showrepl *
Чтобы запустить репликацию паролей с контроллера домена с возможностью записи на контроллер домена только для чтения (RODC), необходимо выполнить команду /rodcpwdrepl используется опция.
Сайт /replicate опция запускает репликацию указанного раздела каталога на определенный DC немедленно.
Чтобы синхронизировать указанный DC со всеми его партнерами по репликации, используйте следующую команду:
replmon /syncall <nameDC>
Чтобы просмотреть очередь репликации:
repadmin /queue
В идеале очередь репликации должна быть пустой.
Проверьте, когда была создана последняя резервная копия текущего контроллера домена:
Repadmin /showbackup *
Также можно проверить состояние репликации с помощью PowerShell. Например, следующая команда отобразит все найденные ошибки репликации в таблице Out-GridView:
Get-ADReplicationPartnerMetadata -Target * -Partition * | Select-Object Server,Partition,Partner,ConsecutiveReplicationFailures,LastReplicationSuccess,LastRepicationResult | Out-GridView
https://github.com/maxbakhub/winposh/blob/main/ADHealthCheck.ps1
Также можно проверить состояние основных служб 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.