Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016
DCDiag.exe
анализирует состояние контроллеров домена (DC) в лесу или предприятии и сообщает о любых проблемах, которые помогут в устранении неполадок. В качестве программы отчетов конечных пользователей DCDiag — это средство командной строки, которое инкапсулирует подробные знания о том, как определить ненормальное поведение в системе.
По умолчанию DCDiag легкодоступен при входе в контроллер домена. Альтернативным способом доступа к DCDiag является установка средств удаленного Администратор istration Tools (RSAT) на устройстве. DCDiag должен выполняться с правами администратора из командной строки с повышенными привилегиями (CMD) или PowerShell.
DCDiag состоит из платформы для выполнения тестов и ряда тестов для проверки различных функциональных областей системы. Эта платформа выбирает, какой контроллер домена тестируется в соответствии с директивами область от пользователя, таких как корпоративный, сайт или отдельный сервер. Проверка общего подключения и реагирования контроллера домена включает в себя проверку:
- Контроллер домена может находиться в DNS
- Контроллер домена отвечает на запросы по протоколу ICMP
- Контроллер домена разрешает подключение к протоколу LDAP, привязываясь к экземпляру.
- Контроллер домена разрешает привязку к интерфейсу RPC AD с помощью функции DsBindWithCred.
Примечание.
Блокировка ICMP не позволяет DCDiag функционировать должным образом. В то время как блокировка ICMP рекомендуется в Интернете сети, внутренне блокируя трафик ICMP, приводит к административным проблемам, которые нарушают устаревшие групповые политики, обнаружение маршрутизатора черной дыры или неэффективные размеры MTU из-за отсутствия варианта обнаружения. Устранение неполадок, таких как ping.exe
или tracert.exe
также затронутых.
Синтаксис 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> |
Использует NamingContext в качестве контекста именования для тестирования. Домены можно указать в NetBIOS, системе доменных имен (DNS) или в формате различающегося имени. |
/u:<Domain> \<UserName> /p:{<Password> | ""} |
Использует domain\UserName. DCDiag использует текущие учетные данные пользователя (или процесса), вошедшего в систему. Если нужны альтернативные учетные данные, используйте следующие параметры, чтобы предоставить эти учетные данные для привязки с паролем в качестве пароля: используйте кавычки ("") для пустого или null пароля. Используйте символ wild карта (*), чтобы запрашивать пароль. |
/a | Проверяет все серверы на этом сайте AD DS. |
/e | Проверяет все серверы в организации. Переопределяет параметр /a . |
/q | Тихий. Выводит только сообщения об ошибках. |
/v | Verbose. Печатает расширенные сведения. |
/Исправить | Влияет только на тест MachineAccount. Этот параметр приводит к исправлению имен субъектов-служб (SPN) в объекте учетной записи компьютера контроллера домена. |
/F:<LogFile> |
Перенаправляет все выходные данные в файл журнала. |
/c | Всеобъемлющего. Выполняет все тесты, кроме DCPromo и RegisterInDNS, включая тесты, отличные от по умолчанию. При необходимости этот параметр можно использовать с параметром, чтобы пропустить указанные /skip тесты.Следующие тесты не выполняются по умолчанию:
|
/h или /? | Отображение справки в командной строке. |
/Тест:<Test> |
Выполняет этот тест только. Тест подключения не может быть пропущен с параметром /skip . |
/ReplSource:<SourceDomainController> |
Проверяет подключение между контроллером домена, на котором выполняется команда и исходный контроллер домена. (Этот параметр используется для теста CheckSecurityError.) SourceDomainController — это DNS-имя, имя NetBIOS или различающееся имя реального или потенциального сервера, который будет исходным контроллером домена для реплика tion, как представлено реальным или потенциальным объектом подключения. |
Известные тесты DCDiag
В следующей таблице показаны известные тесты, выполняемые по умолчанию, если не указано иное.
Тест | Description |
---|---|
Реклама | Проверяет, должен ли каждый контроллер домена объявлять себя в ролях, которые он должен выполнять. Этот тест проверяет, что общедоступная функция DsGetDcName , используемая компьютерами для поиска контроллеров домена, будет правильно находить все контроллеры домена. Этот тест завершается ошибкой, если служба Netlogon остановлена или не запущена. Если служба ключа распространения ключей (KDC) остановлена, тест рекламы завершается сбоем, так как флаг, возвращенный из DsGetDcName, не будет включать KDC. Если порт 88 по протоколу TCP и UDP заблокирован на брандмауэре, тест рекламы пройдет, несмотря на то, что KDC не сможет ответить на запросы билетов Kerberos. |
CheckSDRefDom | Проверяет, имеют ли все разделы каталогов приложений соответствующие домены ссылок на дескриптор безопасности. Этот тест использует протокол LDAP и проверяет перекрестные эталонные объекты , расположенные в cn=partitions,cn=configuration,dc=<forest root domain> , содержат правильные доменные имена в атрибутах msDS-SDReferenceDomain . |
CheckSecurityError | Тест не выполняется по умолчанию. Выполняет различные проверка безопасности для ошибок, связанных с компонентами безопасности контроллера домена, такими как проблемы с политикой безопасности или базой данных безопасности с помощью LDAP, RPC, RPC через S МБ и ICMP. Он проверка:
При добавлении параметра /ReplSource партнер также проверка:
|
Подключение | Проверяет, зарегистрированы ли DSA и DNS с помощью ПРОТОКОЛА LDAP и RPC. |
CrossRefValidation | Извлекает список контекстов именования, расположенных в cn=partitions,cn=configuration,dc=<forest root domain> с их перекрестными ссылками, а затем проверяет их аналогично тесту CheckSDRefDom с помощью LDAP. Этот тест проверяет атрибуты nCName, dnsRoot, nE ТБ IOSName и systemFlags:
|
CutoffServers | Проверяет реплика ad, чтобы обеспечить отсутствие контроллеров домена без рабочих объектов подключения между партнерами. Все серверы, которые не могут реплика входящий или исходящий трафик из любых контроллеров домена, считаются "отрезанными" с помощью функции DsReplicaSyncAll, которая активирует реплика tion на контроллерах данных. /e Используйте параметр с осторожностью, если неубедительно реализованы связи глобальной сети, которые сохраняются в чистом режиме с помощью расписаний. Если сервер не может быть связан или недоступен для LDAP в сети, он не предоставляет результатов ошибок или тестов, даже если /v указан параметр. Этот тест использует RPC. |
Dcpromo | Проверяет сервер, указанный в параметрах DNS клиента, если инфраструктура соответствует необходимым требованиям для продвижения устройства к контроллеру домена. Этот тест использует DNS в сети и проверка:
Требуются следующие аргументы:
|
DFSREvent | Этот тест проверяет работоспособность службы репликации распределенной файловой системы (DFSR), проверка предупреждения журнала событий DFSR и записи ошибок за последние 24 часа. В этом тесте используется протокол удаленного взаимодействия RPC и EventLog. |
DNS | Проверяет работоспособности DNS на уровне предприятия проверка с помощью протоколов DNS, RPC и WMI. Не выполнялось по умолчанию и должно быть явно запрошено. См . синтаксис DNS. |
FrsEvent | Проверяет наличие ошибок в журнале событий службы репликации файлов (FRS) за последние 24 часа, так как сбой реплика tion общей папки SysVol может вызвать проблемы с политикой. В этом тесте используется протокол удаленного взаимодействия RPC и EventLog. |
Межсайтовой | Проверяет наличие сбоев, которые будут препятствовать или временно удерживать межсайтовые реплика и прогнозируют, сколько времени потребуется для восстановления KCC. Этот тест использует функции DRS для проверка для условий, которые препятствуют межсайтовой реплика tion AD на определенном сайте или на всех сайтах:
Этот /a параметр /e должен использоваться как не предоставляющий сайту разрешение на выполнение теста, но пропускает фактическое тестирование. Этот тест использует RPC через сеть для тестирования аспектов реплика tion и запрашивает подключения реестра к проверка для переопределения записей NTDS. ПРОТОКОЛ LDAP также используется для поиска сведений о подключении. |
KccEvent | Этот тест запрашивает KCC в контроллере домена для ошибок и предупреждений, созданных в журнале событий служб каталогов за последние 15 минут. Пороговое значение за 15 минут независимо от значения периода обновления топологии Repl (с) на контроллере домена. Если правила брандмауэра вызывают сбой этого теста, см. КБ 2512643, охватывающие включение этих правил для успешного выполнения теста. Этот тест использует RPC вместе с протоколом удаленного взаимодействия EventLog. |
KnowsOfRoleHolders | Этот тест возвращает знания контроллеров домена пяти ролей гибких отдельных главных ролей (FSMO), но не проверка все знания контроллеров домена для согласованности. /e Использование параметра предоставляет данные для сравнения. Этот тест использует RPC для возврата DSListRoles в функциях службы репликации каталогов (DRS). |
MachineAccount | Проверяет, правильно ли зарегистрирована учетная запись компьютера и что службы объявляются с помощью LDAP и RPC по протоколу S МБ, включая проверка ing:
Этот тест также имеет два варианта восстановления:
|
NCSecDesc | Проверяет разрешения на все контексты именования (например, схема, конфигурация и т. д.) в исходном контроллере домена, чтобы проверить, работает ли реплика связь между контроллерами домена. Это гарантирует, что контроллеры домена предприятия и группы Администратор istrator имеют правильные минимальные разрешения, что и тот же тест, выполняемый в CheckSecurityError. Этот тест использует ПРОТОКОЛ LDAP. |
NetLogons | Проверяет, что пользователь, на котором запущен DCDiag, может подключаться к общим папкам SYSVOL и NETLOGON без ошибок безопасности. Он также проверяет, что Администратор istrator, прошедшие проверку подлинности пользователей и все группы имеют доступ к этому компьютеру из привилегий сети на контроллере домена. |
ОбъектыReplicated | Проверяет, что объекты учетной записи компьютера и системного агента каталогов (DSA) реплика. Два объекта проверяются по умолчанию и существуют в каждом контроллере домена и актуальны на всех остальных контроллерах домена:
Параметр можно использовать /objectdn:dn с /n:nc параметром, чтобы указать дополнительный объект для проверка. Этот тест выполняется с помощью RPC с функциями DRS. |
OutboundSecureChannels | Этот тест не выполняется по умолчанию. Он проверка, которые защищают каналы от всех контроллеров домена в домене до доменов, указанных параметром/testdomain . Параметр /nositerestriction запрещает DCDiag ограничивать тест контроллерами домена на сайте. |
RegisterInDNS | Проверяет, может ли сервер каталогов зарегистрировать записи DNS сервера каталогов. Эти записи должны присутствовать в DNS, чтобы другие компьютеры нашли этот сервер каталогов для домена Active_Directory_Domain_DNS_Name>.< Это также сообщает, если требуются какие-либо изменения существующей инфраструктуры DNS. Необходимо использовать параметр /DnsDomain :<Active_Directory_Domain_DNS_Name> . Этот тест проверка:
|
Репликации | Этот тест проверка всех объектов подключения ad реплика tion для всех контекстов именования в указанных контроллерах домена, если:
|
RidManager | Проверяет, доступен ли главный относительный идентификатор (RID) и если:
Владелец ролей должен быть в сети и доступен для контроллеров домена, чтобы они могли создавать субъекты безопасности (пользователи, компьютеры и группы), а также для дальнейшего продвижения контроллеров домена. В этом тесте используется протокол LDAP и RPC. |
Службы | Этот тест проверяет, работают ли различные службы, зависящие от AD, доступны и задают определенные типы запуска. Эти службы запускаются автоматически и выполняются в общем процессе, если не указано в противном случае:
Эти имена служб перечислены в пути реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services. Этот тест использует RPC и удаленный протокол Service Control Manager . |
SysVolCheck | Этот тест считывает раздел реестра Netlogon SysVolReady для проверки готовности SYSVOL. Имя значения должен существовать со значением 1 для передачи этого теста и работы с FRS или DFSR реплика проверенными sysVOLs. Он не проверка, если общие папки SYSVOL и NELOGON доступны, так как это выполняется CheckSecurityError. В этом тесте используется RPC по протоколу S МБ. |
SystemLog | Проверяет работоспособность журнала событий системы путем чтения и записи записей за последние 60 минут для любых ошибок и предупреждений. Этот тест использует RPC и удаленный протокол Service Control Manager . |
Топология | Проверяет, полностью ли подключена созданная топология ad реплика tion для всех доменных служб. Этот тест не выполняется по умолчанию и должен выполняться явно. Он проверка:
Этот тест использует RPC, LDAP и DsReplicaSyncAll с флагом DS_REPSYNCALL_DO_NOT_SYNC, что означает, что он анализирует и проверяет топологию реплика tion без фактических реплика изменений. Этот тест не проверяет доступность партнеров по реплика. Наличие партнера в автономном режиме не приведет к сбоям в этом тесте. Он также не проверяет, закрывается ли расписание, предотвращая реплика tion. Чтобы просмотреть активные результаты реплика tion, используйте тесты репликации или cutoffServers. |
VerifyEnterpriseReferences | Проверяет, что указанные системные ссылки не сохраняются для инфраструктуры FRS и реплика tion во всех объектах предприятия на каждом контроллере домена. Сюда входят следующие атрибуты и объекты сайта контроллера домена:
Два теста DFSR выполняются только в том случае, если уровень функциональности домена — Windows Server 2008 или более поздней версии. Это означает, что произойдет ожидаемый сбой, если DFSR не был перенесен в SYSVOL. В этом тесте используется протокол LDAP, и контактируются только с указанными контроллерами домена. |
VerifyReferences | Проверяет, что некоторые системные ссылки не сохраняются для инфраструктуры FRS и реплика tion. Этот тест проверяет ссылочные атрибуты компьютера для одного контроллера домена, включая следующие атрибуты и объекты сайта контроллера домена:
Этот тест использует протокол LDAP и аналогичен тесту VerifyEnterpriseRefrences, за исключением того, что он не проверка перекрестные ссылки на секции или все другие объекты контроллера домена. |
ПроверкаReplicas | Проверяет, полностью ли создаются все секции каталогов приложений на всех серверах реплика. Он проверяет, размещает ли указанный сервер секции приложения, указанные его перекрестными атрибутами в контейнере секций. Он работает так же, как CheckSDRefDom , за исключением того, что он не отображает выходные данные и проверяет размещение. Этот тест использует ПРОТОКОЛ LDAP. |
Примечание.
Подключение проверка на контроллерах домена, зарегистрированных в сети, и подключаться к другим ресурсам, таким как DNS, LDAP и RPC, нельзя пропускать.
Синтаксис 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]
Тест DNS использует следующие параметры:
Параметр | Описание |
---|---|
/test:DNS | Выполняет указанный тест DNS. Если тест не указан, по умолчанию используется /DnsAll значение . |
/Dnsbasic | Выполняет базовые тесты DNS, включая сетевое подключение, конфигурацию DNS-клиента, доступность службы и существование зоны. |
/DnsForwarders | /DnsBasic Выполняет тесты, а также проверка конфигурацию пересылки. |
/DnsDelegation | /DnsBasic Выполняет тесты, а также проверка для надлежащего делегирования. |
/DnsDynamicUpdate | Выполняет /DnsBasic тесты, а также определяет, включена ли динамическое обновление в зоне Active Directory. |
/DnsRecordRegistration | /DnsBasic Выполняет тесты, а также проверка, если адрес (A), каноническое имя (CNAME) и известные записи ресурсов службы (SRV) регистрируются. Кроме того, создается отчет инвентаризации на основе результатов теста. |
/DnsResolveExtName [/DnsInternetName:\<InternetName> ] |
/DnsBasic Выполняет тесты, а также пытается разрешить InternetName. Если /DnsInternetName он не указан, пытается разрешить имя <www.microsoft.com>. Если /DnsInternetName задано, пытается разрешить имя Интернета, предоставленное пользователем. |
/DnsAll | Выполняет все тесты, за исключением /DnsResolveExtName теста, и создает отчет. |
/F:<LogFile> |
Перенаправляет все выходные данные в файл журнала. |
/s:<DomainController> |
Выполняет тесты для контроллера домена. Если этот параметр не указан, тесты выполняются с локальным контроллером домена. |
/e | Выполняет все тесты, /test:DNS указанные для всех контроллеров домена в лесу Active Directory. |
/v | Verbose. Предоставляет расширенные сведения об успешных результатах теста в дополнение к сведениям об ошибках и предупреждениях./v Если параметр не используется, предоставляет только сведения об ошибках и предупреждениях. Используйте переключатель /v , когда сообщения об ошибках или предупреждениях передаются в сводной таблице. |
/X:<XMLLog.xml> |
Перенаправляет все выходные данные в xmllog.xml. Этот параметр работает только с параметром /test:DNS . |
/xsl:<XSLFile.xsl> или /Xsl: <XSLTFile.xslt> |
Добавляет инструкции по обработке, ссылающиеся на указанный лист. Этот параметр работает только с параметром /test:DNS /x:<XMLLog.xml . |
Примечание.
Время выполнения для тестов DNS может быть значительным в крупных предприятиях при /e
использовании параметра. Контроллеры домена и DNS-серверы, которые находятся в автономном режиме, увеличивают время выполнения из-за длительных периодов ожидания для RPC и других протоколов.
Примеры
тест Подключение тивности
Чтобы выполнить ряд тестов подключения в локальном домене, выполните следующую команду:
dcdiag
Успешные выходные данные теста подключения:
Directory Server Diagnosis
Performing initial setup:
Trying to find home server...
Home Server = MapleWaffle-WS22
* Identified AD Forest.
Done gathering initial info.
Doing initial required tests
Testing server: Default-First-Site-Name\MAPLEWAFFLE-WS2
Starting test: Connectivity
......................... MAPLEWAFFLE-WS2 passed test Connectivity
Doing primary tests
Testing server: Default-First-Site-Name\MAPLEWAFFLE-WS2
Starting test: Advertising
......................... MAPLEWAFFLE-WS2 passed test Advertising
Starting test: FrsEvent
......................... MAPLEWAFFLE-WS2 passed test FrsEvent
Starting test: DFSREvent
......................... MAPLEWAFFLE-WS2 passed test DFSREvent
Starting test: SysVolCheck
......................... MAPLEWAFFLE-WS2 passed test SysVolCheck
Starting test: KccEvent
......................... MAPLEWAFFLE-WS2 passed test KccEvent
Starting test: KnowsOfRoleHolders
......................... MAPLEWAFFLE-WS2 passed test KnowsOfRoleHolders
Starting test: MachineAccount
......................... MAPLEWAFFLE-WS2 passed test MachineAccount
Starting test: NCSecDesc
......................... MAPLEWAFFLE-WS2 passed test NCSecDesc
Starting test: NetLogons
......................... MAPLEWAFFLE-WS2 passed test NetLogons
Starting test: ObjectsReplicated
......................... MAPLEWAFFLE-WS2 passed test ObjectsReplicated
Starting test: Replications
......................... MAPLEWAFFLE-WS2 passed test Replications
Starting test: RidManager
......................... MAPLEWAFFLE-WS2 passed test RidManager
Starting test: Services
......................... MAPLEWAFFLE-WS2 passed test Services
Starting test: SystemLog
......................... MAPLEWAFFLE-WS2 passed test SystemLog
Starting test: VerifyReferences
......................... MAPLEWAFFLE-WS2 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 : corp
Starting test: CheckSDRefDom
......................... corp passed test CheckSDRefDom
Starting test: CrossRefValidation
......................... corp passed test CrossRefValidation
Running enterprise tests on : corp.contoso.com
Starting test: LocatorCheck
......................... corp.contoso.com passed test
LocatorCheck
Starting test: Intersite
......................... corp.contoso.com passed test
Intersite
Чтобы выполнить ряд тестов подключения на определенном контроллере домена, выполните следующую команду:
dcdiag /s:<DomainControllerName>
Он должен создавать аналогичные результаты, как локальный тест, если проблемы не возникают.
Выходные данные в файл журнала
DCDiag может сохранить выходные результаты в текстовый файл, выполнив следующую команду:
dcdiag /s:<DomainControllerName> /f:<FileName.txt>
Если не <FilePath>
указано, результаты сохраняются C:\Users\<UserName>\<FileName.txt>
по умолчанию.
Чтобы сохранить в определенном расположении, выполните следующую команду:
dcdiag /s:<DomainControllerName> /f:<DriveLetter>\<FilePath>\<FileName.txt>