Проверка доступности домена windows

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

Содержание:

  • Проверка состояния контроллеров домена с помощью Dcdiag
  • Проверка ошибок репликации между контроллерами домена Active Directory

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

Базовая встроенная утилита для проверки состояния контролеров домена – dcdiag.

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

dcdiag /s:DC01

Данная команда выполняет различные тесты указанного контроллера домена и возвращает статус по каждому тесту (Passed| Failed).

Типовые тесты:

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

dcdiag проверка состояния контроллера домена active directory

Полное описание всех доступных тестов есть здесь.

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

  • Topology – проверяет, что 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 в домене

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

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

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

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

расширенная диагностика состояния контроллера домена командой dcdiag

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

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

powershell скрипт - вывести информацию о тестах контроллера домена

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

dcdiag.exe /s:winitpro.ru /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

Для проверки репликации в домене используется встроенная утилита repadmin.

Базовая команда проверки репликации:

repadmin /replsum

repadmin /replsum проверка репликации в домене

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

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

repadmin /replsum *

Проверку межсайтовой репликции можно выполнить так:

repadmin /showism

Для просмотра топологии репликации и найденных ошибках, выполните:

repadmin /showrepl

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

repadmin /showrepl проверка последней успешной репликации между контроллерами домена

Для вывода расширенной информации, используйте:

repadmin /showrepl *

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

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

Для запуска синхронизации указанного DC со всеми партнерами по репликации, используйте команду

replmon /syncall <nameDC>

Для просмотра очереди репликации:

repadmin /queue

В идеальном случае очередь должна быть пуста:

repadmin /queue - очередь репликации

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

Repadmin /showbackup *

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

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

проверка репликации с помощью Get-ADReplicationPartnerMetadata

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

  • Active Directory Domain Services (ntds)
  • Active Directory Web Services (adws) – именно к этой службе подключаются все командлеты из модуля AD PowerShell
  • DNS (dnscache и dns)
  • Kerberos Key Distribution Center (kdc)
  • Windows Time Service (w32time)
  • NetLogon (netlogon)

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

проверка служб ADDS на контроллере домена

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

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

DCDiag – важная утилита для проверки состояния контроллеров домена. Войдите на любой контроллер домена, запустить командную строку и выполните команду:

dcdiag /e /v /q

Это общий тест состояния контроллеров домена и Active Directory. В данном отчете буду указаны только ошибки, которые требует внимание администратора домена.

dcdiag проверка состояния контроллера домена

Затем нужно проверить здоровье DNS серверов (я запускаю эти команды в консоли PowerShell):

DCDiag /Test:DNS /e /v /s:msk-dc01.test.com >c:\PS\DcdiagDNStest.txt

Затем откройте полученный отчет:

Notepad c:\PS\DcdiagDNStest.txt

Если со службой DNS нет проблем, то в разделе “Summary of DNS test results” везде должно быть указано PASS.

DNS тест контроллеров домена

Если в отчете есть ошибки, нужно исправить их вручную. Если вручную исправить ошибки DNS не удается, попробуйте исправить их автоматически командой dcdiag с параметром fix:

DCDiag /Test:DNS /e /v /s:msk-dc01.test.com /fix

Затем на всех всех контроллерах домена выполните команду:

ipconfig /registerdns

После проверки контроллеров домена и DNS службы нужно проверить состояние репликации Active Directory.

Войдите на любой DC и выполните проверку репликации командой:

repadmin /replsum

Если наибольшее из значений largest delta для любого DC не превышает 1 часа и replication fails = 0, значит в вашем домене нет проблем репликации

проверка состояния репликации в AD repadmin /replsum

Утилиты dcdiag и repadmin доступны на любом DC с ролью ADDS. Если вы хотите использовать эти утилиты в десктопной Windows 10, нужно установить RSAT.

Если вы обнаружили ошибки репликации, можно получить подробную информацию о них командой:

repadmin /showreps

Данная команда покажет какой контекст наименования не реплицируется в AD.

Следующая команда используется для быстрой проверки репликации на конкретном сервере. Если нужно проверить репликацию на всех DCs, используйте параметр wildcard (может занять длительное время)

repadmin /replsummary [DCname|wildcard]

Проверьте USN записи:

repadmin /showutdvec

Если нужно принудительно синхронизировать конкретный контроллер домена с другими участниками репликации, выполните команду:

replmon /syncall msk-dc01

Далее обязательно проверьте синхронизацию времени на контроллерах домена командой:

w32tm /monitor

NTP offset должен быть около 0 для всех DC. Если нет, вам нужно схему проверить синхронизацию времени в вашем домене Active Directory.

w32tm /monitor проверка синхронизации временм в active directory

Проверьте, что на всех контроллерах домена есть расшаренные сетевые папки SYSVOL и Netlogon. Эти папки нужны для применения и репликации групповых политик (объектов GPO).

Список общих папок на DC можно вывести командой:

net share

каталоги SYSVOL и Netlogon на контоллере домена

Теперь проверьте корректность работы Netlogons в Active Directory:

dcdiag /test:netlogons

Если с Netlogon все в порядке для всех тестов должно быть указано passed test.

dcdiag /test:netlogons

Осталось проверить на любом компьютере домена, что к нему применятся все назначенные политики. Для этого используется команда:

gpresult

Active Directory (AD) — это надёжный, но одновременно сложный и критичный сервис, от работы которого зависит функционирование всей корпоративной сети. Поэтому системный администратор должен регулярно следить за состоянием контроллеров домена и репликацией AD. В этой статье рассмотрим основные методики для проверки и диагностики здоровья домена Active Directory, контроллеров домена и процесса репликации.

Приобрести оригинальные ключи активации Windows Server можно у нас в магазине от 1190 ₽

Скачать дистрибутивы Windows Server можно у нас в каталоге.

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

Базовая утилита для проверки состояния контроллеров домена — это 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

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

Для проверки репликации в домене используется встроенная утилита 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 предоставляют удобные инструменты для диагностики и исправления ошибок в домене, что позволяет поддерживать стабильность сети.

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

Утилита dcdiag позволяет выполнять различные тесты над инфраструктурой Active Directory и запрашивать диагностическую информацию о контроллерах домена.

Синтаксис dcdiag

Общий синтаксис

dcdiag [/s:<DomainController>] [/n:<NamingContext>] [/u:<Domain>\<UserName> /p:{* | <Password> | ""}] [{/a | /e}] [{/q | /v}] [/i] [/f:<LogFile>] [/c [/skip:<Test>]] [/test:<Test>] [/fix] [{/h | /?}] [/ReplSource:<SourceDomainController>]

Параметры dcdiag:

  • /s:<DomainController>
    Указывает контроллер домена. Если не указано, то используется локальный контроллер домена. Не используется в тестах DcPromo и RegisterInDns, которые можно выполнить только локально.
  • /n:<NamingContext>
    Контекст именования в форматах NetBIOS, DNS (FQDN), DN.
  • /u:<Domain>\<UserName> /p:{* | <Password> | «»}
    Запускает dcdiag от имени другого пользователя. По умолчанию dcdiag выполняется от имени текущего пользователя.
  • /a
    Тестировать все серверы указанного сайта.
  • /e
    Тестировать все серверы леса, перекрывает /a.
  • /q
    Тихий режим. Выводятся только ошибки.
  • /v
    Подробный режим. Выводится дополнительная информация.
  • /i
    Игнорировать некритичные ошибки.
  • /fix
    Только для теста MachineAccount. Исправление некорректных Service Principal Names (SPNs) на контроллере домена.
  • /f:<LogFile>
    Вывод результатов в лог.
  • /c
    Выполняет все тесты, кроме DCPromo и RegisterInDNS. Включает тесты не по умолчанию: Topology, CutoffServers, OutboundSecureChannels. Можно использовать совместно со /skip для пропуска определённых тестов.
  • {/h | /?}
    Помощь.
  • /test:<Test>
    Выполнить указанный тест. Дополнительно выполняется тест Connectivity.
  • /ReplSource:<SourceDomainController>
    Только для теста CheckSecurityError. Проверяет соединение между контроллером домена, на котором выполняется команда, и исходным контроллером домена. SourceDomainController — это NetBIOS, DNS (FQDN) или DN имя сервера, который будет исходным контроллером домена для репликации.

Синтаксис для теста DNS

dcdiag /test:DNS [/DnsBasic | /DnsForwarders | /DnsDelegation | /DnsDynamicUpdate | /DnsRecordRegistration | /DnsResolveExtName [/DnsInternetName:<InternetName>] | /DnsAll] [/f:<LogFile>] [/x:<XMLLog.xml>] [/xsl:<XSLFile.xsl> or <XSLTFile.xslt>] [/s:<DomainController>] [/e] [/v]

Параметры dcdiag для теста DNS:

  • /test:DNS
    Тест DNS. По умолчанию /DnsAll.
  • /DnsBasic
    Основные тесты DNS, соединение, конфигурация DNS клиента, доступность службы, существование зоны.
  • /DnsForwarders
    Тесты DnsBasic и DNS-форвардинг.
  • /DnsDelegation
    Тесты DnsBasic и проверка делегирования.
  • /DnsDynamicUpdate
    Тесты DnsBasic и пределяет, включено ли динамическое обновление в зоне Active Directory.
  • /DnsRecordRegistration
    Тесты DnsBasic tests и также проверяет, зарегистрированы ли записи A, CNAME и службы SRV. Кроме того, создается отчет об инвентаризации на основе результатов тестирования.
  • /DnsResolveExtName **[/DnsInternetName:<**InternetName>]
    Тесты DnsBasic и делает resolve InternetName. Если DnsInternetName не указано, делает resolve www.microsoft.com. Если DnsInternetName указано, делает resolve указанного InternetName.
  • /DnsAll
    Все тесты кроме DnsResolveExtName и создает отчет.
  • **/f:<**LogFile>
    Вывод результатов в лог.
  • **/s:<**DomainController>
    Указывает контроллер домена. Если не указано, то используется локальный контроллер домена.
  • /e
    Все тесты DNS для всех контроллеров домена леса.
  • /v
    Подробный режим. Выводится дополнительная информация.
  • /x:<XMLLog.xml>
    Вывод результатов в <XMLLog.xml>. Только вместе с опцией /test:dns.
  • /xsl:<XSLFile.xsl> или <XSLTFile.xslt>
    Добавляем файл стилей. Только вместе с опцией /test:dns /x:<XMLLog.xml>.

Тесты dcdiag

Тесты, которые нельзя пропустить

  • Connectivity
    Проверяет регистрацию DNS, ping, LDAP RPC для каждого контроллера домена.

Тесты, которые можно пропустить

  • Replications
    Проверяет возможность репликации между контроллерами домена и сообщает об ошибках репликации.
  • NCSecDesc
    Проверяет, что дескрипторы безопасности в головках контекста именования имеют соответствующие разрешения для репликации.
  • NetLogons
    Проверяет наличие соответствующих привилегий входа в систему для репликации.
  • Advertising
    Проверяет, правильно ли контроллер домена сообщает о себе и о своих ролях, которые он должен выполнять. Этот тест завершиться неудачно, если служба NetLogon не запущена.
  • KnowsOfRoleHolders
    Проверяет доступность контроллеров домена с ролями FSMO.
  • Intersite
    Проверяет наличие ошибок, которые могут помешать нормальной репликации между сайтами. Результаты могут быть неточными.
  • FSMOCheck
    Проверяет, что контроллер домена может подключиться к KDC, NTP, предпочтительному NTP, PDC, серверу глобального каталога.
  • RidManager
    Проверяет RID мастера.
  • MachineAccount
    Проверяет службы и регистрацию учетной записи целевого компьютера. Если обнаружена ошибка, ее можно исправить, указав параметры /FixMachineAccount или /RecreateMachineAccount.
  • Services
    Проверяет службы контроллера домена.
  • OutboundSecureChannels
    Проверяет наличие безопасных каналов между всеми контроллерами домена.
  • ObjectsReplicated
    Проверяет правильность репликации Machine Account и Directory System Agent (DSA). Можно использовать **/objectdn:**dn и **/n:**nc параметры.
  • frssysvol
    Проверяет FRS и SYSVOL.
  • frsevent
    Проверка ошибок системы репликации.
  • kccevent
    Проверка KCC.
  • systemlog
    Проверка лога на наличие ошибок.
  • CheckSDRefDom
    Проверяет, что все разделы каталога приложений имеют соответствующие домены ссылок на дескрипторы безопасности.
  • VerifyReplicas
    Проверяет разделы каталога приложения на всех серверах, принимающих участие в репликации.
  • CrossRefValidation
    Проверяет правильность перекрестных ссылок для доменов.
  • VerifyReferences
    Проверяет, что системные ссылки не повреждены для FRS и репликации.
  • VerifyEnterpriseReferences
    Проверяет, что системные ссылки не повреждены для FRS и репликации во всех объектах на каждом контроллере домена.
  • /skip:<Test>
    Пропускает указанный тест. Connectivity выполняется всегда.

Тесты, которые не выполняются по умолчанию

  • Topology
    Проверяет, что KCC генерирует правильную топологию для всех контроллеров домена.
  • CheckSecurityError
    Отчет об общем состоянии репликации в отношении безопасности Active Directory на контроллерах домена под управлением Windows Server 2003 SP1. Вы можете выполнить этот тест для одного или всех контроллеров домена на предприятии. По завершении теста dcdiag представляет сводку результатов, а также подробную информацию по каждому протестированному контроллеру домена и диагностику ошибок безопасности, о которых сообщил тест.
    Cледующий аргумент является необязательным:
    **/ReplSource:**SourceDomainController
    Этот аргумент проверяет возможность создания связи репликации между реальным или потенциальным контроллером домена-источника (SourceDomainController) и локальным контроллером домена.
  • CutoffServers
    Проверяет есть ли серверы репликации без партнёра.
  • DNS
    Включает шесть дополнительных тестов. Имеет отдельный синтаксис, См. выше.

Тесты не для контроллеров домена

  • DcPromo
    Проверяет инфраструктуру DNS для любого компьютера, который вы хотите сделать контроллером домена. Если инфраструктура достаточна, вы можете сделать компьютер контроллером домена, указанном в параметре **/DnsDomain:**Active_Directory_Domain_DNS_Name. Этот параметр сообщает, требуются ли какие-либо изменения в существующей инфраструктуре DNS. Обязательным аргументом является **/DnsDomain:**Active_Directory_Domain_DNS_Name. Требуется один из следующих аргументов: /NewForest, /NewTree, /ChildDomain, /ReplicaDC. Если указан аргумент /NewTree, необходимо также указать аргумент **/ForestRoot:**Forest_Root_Domain_DNS_Name.
  • RegisterInDNS
    Проверяет, может ли этот контроллер домена зарегистрировать Domain Controller Locator DNS записи. Эти записи должны присутствовать в DNS для других компьютеров, чтобы найти этот контроллер домена для домена Active_Directory_Domain_DNS_Name. Этот параметр сообщает, требуются ли какие-либо изменения в существующей инфраструктуре DNS. Обязательным аргументом является **/DnsDomain:**Active_Directory_Domain_DNS_Name.

Пример

Давайте продиагностируем какой-нибудь контроллер домена.

Запускаю прямо на контроллере домена выполнение всех тестов по умолчанию:

  • dcdiag

    dcdiag
    
    Directory Server Diagnosis
    
    Performing initial setup:
       Trying to find home server...
       Home Server = ilab-dc
       * Identified AD Forest. 
       Done gathering initial info.
    
    Doing initial required tests
       
       Testing server: Default-First-Site-Name\ILAB-DC
          Starting test: Connectivity
             ......................... ILAB-DC passed test Connectivity
    
    Doing primary tests
       
       Testing server: Default-First-Site-Name\ILAB-DC
          Starting test: Advertising
             ......................... ILAB-DC passed test Advertising
          Starting test: FrsEvent
             ......................... ILAB-DC passed test FrsEvent
          Starting test: DFSREvent
             ......................... ILAB-DC passed test DFSREvent
          Starting test: SysVolCheck
             ......................... ILAB-DC passed test SysVolCheck
          Starting test: KccEvent
             ......................... ILAB-DC passed test KccEvent
          Starting test: KnowsOfRoleHolders
             ......................... ILAB-DC passed test KnowsOfRoleHolders
          Starting test: MachineAccount
             ......................... ILAB-DC passed test MachineAccount
          Starting test: NCSecDesc
             ......................... ILAB-DC passed test NCSecDesc
          Starting test: NetLogons
             ......................... ILAB-DC passed test NetLogons
          Starting test: ObjectsReplicated
             ......................... ILAB-DC passed test ObjectsReplicated
          Starting test: Replications
             ......................... ILAB-DC passed test Replications
          Starting test: RidManager
             ......................... ILAB-DC passed test RidManager
          Starting test: Services
             ......................... ILAB-DC passed test Services
          Starting test: SystemLog
             ......................... ILAB-DC passed test SystemLog
          Starting test: VerifyReferences
             ......................... ILAB-DC 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 : ilab
          Starting test: CheckSDRefDom
             ......................... ilab passed test CheckSDRefDom
          Starting test: CrossRefValidation
             ......................... ilab passed test CrossRefValidation
       
       Running enterprise tests on : ilab.local
          Starting test: LocatorCheck
             ......................... ilab.local passed test LocatorCheck
          Starting test: Intersite
             ......................... ilab.local passed test Intersite
    

dcdiag

Проверим корректность работа DNS:

  • dcdiag /s:ilab-dc /test:dns /e

    dcdiag /s:ilab-dc /test:dns /e
    
    Directory Server Diagnosis
    
    Performing initial setup:
       * Identified AD Forest. 
       Done gathering initial info.
    
    Doing initial required tests
       
       Testing server: Default-First-Site-Name\ILAB-DC
          Starting test: Connectivity
             ......................... ILAB-DC passed test Connectivity
    
    Doing primary tests
       
       Testing server: Default-First-Site-Name\ILAB-DC
       
          Starting test: DNS
             
             DNS Tests are running and not hung. Please wait a few minutes...
             ......................... ILAB-DC passed test DNS
       
       Running partition tests on : ForestDnsZones
       
       Running partition tests on : DomainDnsZones
       
       Running partition tests on : Schema
       
       Running partition tests on : Configuration
       
       Running partition tests on : ilab
       
       Running enterprise tests on : ilab.local
          Starting test: DNS
             ......................... ilab.local passed test DNS
    
    

dcdiag

Все тесты пройдены успешно.

Ссылки

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc731968(v=ws.11)

Testing the health of your local domain controller can be an extremely important task, especially when problems with Active Directory arise. Let’s look at an important tool in the toolbelt for Active Directory administrators called DCDiag. It allows admins to check domain controller health and other metrics to ensure everything works properly in Active Directory Domain Services (AD DS).

Common Active Directory Errors and Issues

Note the following common Active Directory errors and issues that can happen over time with Active Directory Domain Services environments.

Replication Delays: Sometimes, there can be a delay or failure in replicating data between domain controllers. This ensures that all controllers have the latest directory information

DNS Configuration Errors: Proper DNS setup is vital for Active Directory operations. Misconfigurations or errors in DNS might prevent domain controllers from locating each other or processing user requests efficiently.

Failed Trust Relationships: Trust relationships between domains are crucial for resource sharing in larger organizations. Failures could indicate potential security or access issues.

And others.

DCDiag commands

DCDiag commands (test)

Test description

Advertising

Checks if the domain controller is correctly reporting itself and its role as the operations master. This test fails if the NetLogon service is not running.

CheckSDRefDom

Verifies the correctness of the reference domain security descriptors for each section of the program directories.

Connectivity

Checks DNS registration for each domain controller; sends a test echo packet to each domain controller and verifies LDAP connections to each domain controller, and RPC connections.

CrossRefValidation

Checks the correctness of cross-references for domains.

RRSSysvol

Checks readiness status for FRS SYSVOL.

FRSEvent

Checks for replication errors in the file replication service, which may indicate problems with SYSVOL replication and, thus, the integrity of copies of GPO objects.

FSMOCheck

Check the global catalog server, primary domain controller, preferred time server, and KDC.

Intersite

Checks for errors that may interfere with normal replication between AD sites. Microsoft warns that sometimes this test may not be accurate.

KnowsOfRoleHolders

Checks the ability to connect domain controllers to all five FSMO role holders.

MachineAccount

Verifies the correctness of the registration of the account of the target computer and the correctness of the service announcements of this computer.

NCSecDesc

Verifies permissions for replication in security descriptors for naming context headers.

NetLogons

Verifies the registration permissions that allow registration for each domain controller.

ObjectsReplicated

Verifies the replication of the directory server agent and computer account objects.

OutboundSecureChannels

Checks the presence of secure channels between all domain controllers in the domain.

Replications

Checks replication between domain controllers and reports all replication errors.

RidManager

Checks the operability and availability of the RID master.

Services

Verifies the health of all services required for the operation of the ADDS on the specified domain controller.

VerifyEnterpriseReferences

Checks the validity of the system links of the file replication service for all objects on all domain controllers in the forest.

VerifyReferences

Checks the validity of the file replication service system references for all objects on the specified domain controller.

VerifyReplicas

Checks the validity of all sections of the application directory on all servers involved in the replication.

Topology

Checks if the KCC generates the correct topology for all domain controllers.

CutoffServers

Checks if there are replication servers without a partner.

DNS

Includes six additional DNS (see below).

DcPromo

Checks the DNS infrastructure for any computer that you want to promote to a domain controller. If the infrastructure meets the requirements, you can install the ADDS domain controller role on the computer.

DCDiag syntax

The general syntax of the DcDiag utility is:

dcdiag [/s:<DomainController>] [/n:<NamingContext>] [/u:<Domain>\<UserName> /p:{* | <Password> | ""}] [{/a | /e}] [{/q | /v}] [/i] [/f:<LogFile>] [/c [/skip:<Test>]] [/test:<Test>] [/fix] [{/h | /?}] [/ReplSource:<SourceDomainController>]

Useful Examples of DcDiag Command

It is recommended to run the DcDiag test on the domain controller itself, and not remotely. For example, let’s run a check on a DC01 domain controller:

dcdiag /s:DC01

Hint. Note that you are likely to encounter warning events when running DcDiag tests remotely. Tests such as SystemLog will fail unless you run dcdiag.exe locally on a domain controller.

All 30 tests for the specified domain controller are run when you run the tool without specifying parameters. In our example, it is clear that all tests passed successfully (Starting test: …. passed test). It means that everything is fine on this DC.

dcdiag

The test results will show Passed if the test was successful and DcDiag found no errors. The Failed message will appear next to the check name if an error is found.

dcdiag commands

General health check

DcDiag allows you to perform a quick general health test of Active Directory and domain controllers. To check all DCs in the domain, use the /e parameter. The following command will only list errors that require the AD administrator’s attention:

dcdiag /e /v /q

Specific tests

You can perform a specific AD test only by specifying its name, for example:

dcdiag /s:DC01 /a /test:NetLogons

Testing the RID master

You can test the health of the RID master FSMO owner in the domain:

Dcdiag.exe /TEST:RidManager /v

Performing a specific test from the checklist

Or you can exclude a specific test from the checklist:

dcdiag /s:DC01 /a /skip:Replication

Specifying credentials

When launching the DcDiag tool remotely, you need to specify the credentials with the domain admin privileges:

dcdiag /s:DC01 /u:contosoadmin /p:P@SSwoord

Saving the results to a file

In order to display the extended information and save the test results to files, use the command:

dcdiag /s:DC01 /v /f:c:\ps\dcdiag_report.log

Testing all domain controllers in the current site

To test all domain controllers in the current Active Directory site, run the command:

dcdiag /s:DC01 /a

Remove extra information

If you want to remove the extra information from the test results to display only the errors found, use the /q parameter (if no errors were found, the command will return nothing):

dcdiag /s:DC01 /q

dcdiag test replication

Fixing errors with DCDIag

Some trivial errors can be fixed with DcDiag by itself. To do this, use the /fix switch:

dcdiag /s:DC01 /fix

Testing active directory domain controllers using dcdiag

Using the DNS tests, you can perform primary tests testing server name resolution service in AD. For example, to run all DNS tests for a specific domain controller and export the result to a text file:

DCDiag /Test:DNS /e /v /s:dc01.theitbros.com >c:\logs\DcdiagDNSCheck.txt

Open the resulting DNS test log file:

Get-Content c:\logs\DcdiagDNSCheck.txt

The result of each DNS test is listed in a column under the “Summary of DNS test results” section. In this example, all DNS tests passed successfully (PASS), except for the DNS forwarding test (FAIL):

dcdiag windows 10

You can only run certain DNS tests:

dcdiag /test:DNS [/DnsBasic | /DnsForwarders | /DnsDelegation | /DnsDynamicUpdate | /DnsRecordRegistration | /DnsResolveExtName [/DnsInternetName:<InternetName>] | /DnsAll] [/f:<LogFile>] [/x:<XMLLog.xml>] [/xsl:<XSLFile.xsl> or <XSLTFile.xslt>] [/s:<DomainController>] [/e] [/v]

/DnsBasic

Basic DNS tests, connectivity, DNS client configuration, service availability, presence of a domain zone

/DnsForwarders

DnsBasic Tests and DNS Forwarding

/DnsDelegation

DnsBasic Tests and delegation verification

/DnsDynamicUpdate

Tests DnsBasic and checks if dynamic update is enabled for an Active Directory zone

/DnsRecordRegistration

DnsBasic tests and also checks if A records, CNAMEs, and SRV services are registered. In addition, an inventory report is generated based on the test results.

/DnsResolveExtName **[/DnsInternetName:<**InternetName>]

DnsBasic tests and resolves the InternetName. If DnsInternetName is not specified, the tool attempts to resolve www.microsoft.com address. If DnsInternetName is specified, it resolves the specified InternetName.

Frequently Asked Questions

What is DCDiag?

DCDiag is a command-line tool designed for Active Directory Domain Services (ADDS) infrastructure. It assists administrators in performing an in-depth health check on domain controllers. This ensures the health of Active Directory services and verifies elements like DNS servers, AD replication, and more.

How do you initiate a DCDiag test on a local domain controller?

Launching a DCDiag test is straightforward. From an elevated command prompt, you can type the dcdiag command to start testing the local domain controller. If you need verbose output, run DCDiag with verbose options using the /v switch.

Why are DNS tests pivotal when using DCDiag?

DNS is integral to the functionality of an Active Directory. DCDiag performs DNS testing to verify things like basic DNS tests, checking if resource records are registered, ensuring dynamic updates for an active directory zone, and the DNS client configuration service.

How can I discern the health of my primary domain controller among multiple domain controllers?

To focus on the primary domain controller’s health, the DCDiag tool can be directed using specific parameters. To check domain controller health, use the command dcdiag /s:<YourPDCName>. This ensures that the health check is specific to your primary domain controller.

Can it check connectivity between domain controllers?

Absolutely. The DCDiag tool offers a test connectivity feature. This test ensures that domain controllers can communicate effectively, especially vital when dealing with multiple domain controllers within an enterprise.

What should I keep in mind when interpreting the test results from DCDiag?

After running DCDiag, review the results. While “Passed” indicates a successful test, “Failed” flags potential issues. But remember, not all error messages are emergencies. Some error messages don’t necessarily indicate a problem.

Can DCDiag diagnose replication errors?

Yes, it can. Using DCDiag, administrators can test replications to ensure that domain data is consistently replicated across all the servers. DCDiag will flag replication errors, enabling admins to intervene.

In scenarios where I suspect DNS-related issues, can DCDiag help?

Absolutely. With features like dcdiag DNS test DCDiag is an excellent tool to diagnose DNS. If DNS misconfigurations exist on a domain controller, DCDiag is effective at flagging them, ensuring your Active Directory is problem-free.

Wrapping up

Working with Active Directory and troubleshooting issues can be challenging. But with tools like DCDiag, it gets easier. As we have seen, this tool helps verify everything is working right, whether you’re looking at local domain controllers or remote AD DS environments.

With DCDiag, you can quickly check DNS settings, connectivity, and verify there are no other issues in the environment, like replication problems. It helps admins ensure everything is running smoothly and avoid larger problems down the line.

Cyril Kardashevsky

I enjoy technology and developing websites. Since 2012 I’m running a few of my own websites, and share useful content on gadgets, PC administration and website promotion.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 поиск по приложениям
  • Как узнать какая windows установлена по файлам
  • Core isolation windows 11 как выключить
  • Windows 10 заблокировать доступ к флешкам
  • Как узнать какая версия cuda установлена windows