Перейти к основному содержанию
 

DCDIAG — утилита для тестирования контроллеров домена Active Directory

Windows Server

Администрирование инфраструктуры 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

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

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

dcdiag

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

Ссылки

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

Теги