DCDiag

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016

DCDiag.exe analyse l’état des contrôleurs de domaine (DC) dans une forêt ou entreprise, et signale les problèmes afin de vous aider à les résoudre. En tant que programme de création de rapports pour les utilisateurs finaux, DCDiag est un outil en ligne de commande qui encapsule des connaissances détaillées sur la façon d’identifier un comportement anormal dans le système.

Par défaut, vous pouvez facilement accéder à DCDiag s’il est connecté à un contrôleur de domaine. Vous pouvez aussi y accéder en installant les outils d’administration de serveur distant (RSAT) sur votre appareil. Vous devez exécuter DCDiag à partir d’une invite de commandes avec élévation de privilèges ou de PowerShell en disposant de droits d’administrateur.

DCDiag se compose d’une infrastructure pour l’exécution de tests et d’une série de tests permettant de vérifier les différentes zones fonctionnelles du système. Cette infrastructure sélectionne les contrôleurs à tester selon les directives d’étendue de l’utilisateur, comme l’entreprise, le site ou un serveur seul. Le test de connectivité globale et de réactivité du contrôleur de domaine inclut la vérification des éléments suivants :

  • Le contrôleur de domaine peut se trouver dans DNS
  • Le contrôleur de domaine répond aux tests ping ICMP (Internet Control Message Protocol)
  • Le contrôleur de domaine autorise la connectivité LDAP (Lightweight Directory Access Protocol) en reliant l’instance
  • Le contrôleur de domaine autorise la liaison avec l’interface AD RPC avec la fonction DsBindWithCred.

Remarque

Le blocage du protocole ICMP empêche DCDiag de fonctionner comme prévu. Même s’il est recommandé de procéder au blocage du protocole ICMP à la périphérie internet de votre réseau, le blocage interne du trafic ICMP entraîne des problèmes d’administration. Ceux-ci interrompent les stratégies de groupe héritées, affectent la détection de routeurs trous noirs ou altèrent la taille des unités de transmission maximales par défaut d’option de découverte. Les outils de résolution des problèmes tels que ping.exe ou tracert.exe sont également affectés.

Syntaxe 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 utilise les paramètres suivants :

Paramètre Description
/s:<DomainController> Spécifie le nom du serveur sur lequel exécuter la commande. Si ce paramètre n’est pas spécifié, les tests sont exécutés sur le contrôleur de domaine local.

Ce paramètre est ignoré pour les tests DcPromo et RegisterInDns qui peuvent uniquement être exécutés localement.
/n:<NamingContext> Utilise NamingContext comme contexte de nommage pour le test. Vous pouvez spécifier des domaines au format NetBIOS, DNS (Domain Name System) ou nom unique.
/u:<Domain>\<UserName> /p:{<Password> | ""} Utilise Domain\UserName. DCDiag utilise les informations d’identification actuelles de l’utilisateur (ou du processus) connecté. Si d’autres informations d’identification sont nécessaires, utilisez les options suivantes afin de les fournir pour la liaison avec Password comme mot de passe : utilisez des guillemets ("") pour un mot de passe vide ou nul. Utilisez le caractère générique (*) pour demander le mot de passe.
/a Teste tous les serveurs sur ce site AD DS.
/e Teste tous les serveurs de l’entreprise. Remplace /a.
/q Quiet. Imprime uniquement les messages d’erreur.
/v Verbose. Imprime les informations étendues.
/fix Affecte le test MachineAccount uniquement. Ce paramètre entraîne la résolution des noms de principaux de service (SPN) via le test sur l’objet Compte d’ordinateur du contrôleur de domaine.
/f:<LogFile> Redirige toutes les sorties vers un fichier journal.
/C Exhaustif. Exécute tous les tests à l’exception de DCPromo et RegisterInDNS, notamment les tests autres que ceux par défaut. Si vous le souhaitez, vous pouvez utiliser ce paramètre avec le paramètre /skip pour ignorer les tests spécifiés.

Les tests suivants ne sont pas exécutés par défaut :
  • Topologie
  • CutoffServers
  • OutboundSecureChannels.
/h ou /? Affiche l'aide à l'invite de commandes.
/test:<Test> Exécute ce test uniquement. Le test de connectivité ne peut pas être ignoré avec le paramètre /skip.
/ReplSource:<SourceDomainController> Teste la connexion entre le contrôleur de domaine sur lequel vous exécutez la commande et le contrôleur de domaine source. (Ce paramètre est utilisé pour le test CheckSecurityError.)

SourceDomainController est le nom DNS, le nom NetBIOS ou le nom unique d’un serveur réel ou potentiel qui sera le contrôleur de domaine source pour la réplication, comme représenté par un objet de connexion réel ou potentiel.

Tests DCDiag connus

Le tableau suivant répertorie les tests connus qui s’exécutent par défaut, sauf indication contraire.

Test Description
Publicité Vérifie si chaque contrôleur de domaine se publie lui-même dans les rôles qu’il doit être en mesure d’effectuer. Ce test vérifie que la fonction DsGetDcName publique utilisée par les ordinateurs pour localiser les contrôleurs de domaine localise correctement les contrôleurs de domaine.

Ce test échoue si le service Netlogon s’est arrêté ou n’a pas pu démarrer. Si le service Centre de distribution de clés (KDC) est arrêté, le test Advertising échoue, car l’indicateur retourné par DsGetDcName n’inclut pas le KDC. Si le port 88 sur TCP et UDP est bloqué par un pare-feu, le test Advertising réussit, et ce même si le KDC ne peut pas répondre aux demandes de tickets Kerberos.
CheckSDRefDom Vérifie que toutes les partitions d’annuaire d’applications présentent des domaines de référence de descripteur de sécurité appropriés.

Ce test utilise le protocole LDAP et vérifie si les objets de renvoi situés dans cn=partitions,cn=configuration,dc=<forest root domain> contiennent les bons noms de domaine dans leurs attributs msDS-SDReferenceDomain.
CheckSecurityError Ce test n’est pas exécuté par défaut. Il effectue plusieurs vérifications de sécurité pour les erreurs liées aux composants de sécurité du contrôleur de domaine (comme les problèmes liés à la stratégie de sécurité ou à la base de données de sécurité) via les protocoles LDAP, RPC, RPC sur SMB et ICMP. Il vérifie :
  • Qu’au moins un KDC est en ligne pour chaque domaine et accessible.
  • Que le compte d’ordinateur des contrôleurs de domaine a été répliqué vers d’autres contrôleurs de domaine.
  • Si la fragmentation des paquets Kerberos sur UDP pose un problème au regard de l’actuelle taille des MTU en envoyant des paquets ICMP non fragmentants.
  • Qu’il n’existe aucun problème de réplication ni de connexion du vérificateur de cohérence des données (KCC) pour les partenaires connectés en interrogeant la fonction DsReplicaGetInfo pour obtenir des erreurs liées de sécurité.
  • Si le compte d’ordinateur des contrôleurs de domaine existe dans Active Directory (AD) en tant que composante de l’unité d’organisation « Contrôleurs de domaine » par défaut avec les bons indicateurs UserAccountControl pour les contrôleurs de domaine, si les bons attributs ServerReference sont définis et si les noms de principal de service a minima nécessaires sont configurés.

Lorsque le paramètre /ReplSource est ajouté, le partenaire doit également vérifier :
  • Le décalage temporel calculé entre les serveurs, afin de s’assurer qu’il est inférieur à 300 secondes (5 minutes) pour Kerberos. Il ne doit pas vérifier la stratégie Kerberos pour déterminer si le décalage autorisé a été modifié.
  • Les autorisations pour tous les contextes d’appellation (par exemple : schéma, configuration, etc.) sur le contrôleur de domaine source qui valide la réplication et les fonctions de connectivité entre les contrôleurs de domaine.
  • La connectivité, afin de s’assurer que l’utilisateur qui exécute DCDiag peut se connecter et lire les partages SYSVOL et NETLOGON sans aucune erreur de sécurité.
  • Les privilèges d’accès à cet ordinateur à partir du réseau sur le contrôleur de domaine, afin de s’assurer qu’ils sont réservés aux administrateurs, aux utilisateurs authentifiés et aux groupes Tout le monde.
  • Le compte d’ordinateur des contrôleurs de domaine, afin de s’assurer qu’il s’agit bien de la dernière version. Cela permet d’éprouver la convergence de réplication tout en vérifiant les versions, les USN, les serveurs d’origine et les horodatages.
Connectivité Ce test vérifie que les DSA et les DNS sont inscrits et accessibles via les protocoles LDAP et RPC.
CrossRefValidation Ce test récupère une liste des contextes d’appellation situés dans cn=partitions,cn=configuration,dc=<forest root domain> avec leurs renvois, puis les valide de la même façon que le test CheckSDRefDom via le protocole LDAP. Ce test examine les attributs nCName, dnsRoot, nETBIOSName et systemFlags pour :
  • Vérifier que les noms des DNS ne sont pas incorrects ou null.
  • Vérifier que les DNS n’ont pas été modifiés par CNF ou 0ADEL.
  • Vérifier que les attributs systemFlags sont corrects pour cet objet.
  • Appeler les jeux de réplicas vides (orphelins).
CutoffServers Ce test vérifie la réplication AD, afin de s’assurer qu’il n’existe aucun contrôleur de domaine sans objets de connexion opérationnels entre les partenaires. Les serveurs qui ne peuvent pas répliquer les entrées/sorties d’un contrôleur de domaine sont considérés comme « coupés » grâce à la fonction DsReplicaSyncAll, qui déclenche la réplication sur les contrôleurs de domaine. En présence de liens WAN mal implémentés maintenus propres à l’aide de planifications, utilisez le paramètre /e avec précaution.

S’il ne peut pas être contacté ou qu’il est indisponible en LDAP sur le réseau, le serveur ne fournit aucun résultat d’erreur ni de test, et ce même si le paramètre /v est spécifié. Ce test utilise le protocole RPC.
DcPromo Ce test vérifie si l’infrastructure répond aux exigences nécessaires pour promouvoir votre appareil sur un contrôleur de domaine au regard du serveur spécifié dans les paramètres DNS du client. Ce test utilise le DNS sur le réseau et vérifie :
  • Si au moins une carte réseau dispose d’un serveur DNS principal défini.
  • S’il existe un espace de noms disjoint en fonction du suffixe DNS.
  • Que cette zone DNS faisant autorité peut être contactée.
  • Si les mises à jour DNS dynamiques sont possibles pour l’enregistrement A du serveur. Il vérifie à la fois le paramètre sur la zone DNS faisant autorité et la configuration du registre client pour DnsUpdateOnAllAdapters et DisableDynamicUpdate.
  • Si un enregistrement DClocator LDAP (comme le domaine _ldap._tcp.dc._msdcs.<)> est retourné lors de l’interrogation des forêts existantes.

Les arguments suivants sont exigés :
  • /DnsDomain:<Active_Directory_Domain_DNS_Name>
    • Pour utiliser ce paramètre, vous devez utiliser l’un des arguments suivants : /ChildDomain, /NewForest, /NewTreeou /ReplicaDC
  • Si /NewTree est spécifié, l’argument suivant est nécessaire :
    • /ForestRoot:<Forest_Root_Domain_DNS_Name>
DFSREvent Ce test valide l’intégrité du service de réplication du système de fichiers distribués (DFSR) en vérifiant les entrées d’avertissement et d’erreur du journal des événements DFSR au cours des dernières 24 heures. Ce test utilise les protocoles RPC et EventLog Remoting.
DNS Ce test vérifie l’intégrité du DNS à l’échelle de l’entreprise via les protocoles DNS, RPC et WMI. Ce test ne s’exécute pas par défaut et doit être demandé explicitement. Consultez la syntaxe DNS.
FrsEvent Vérifie s’il existe des erreurs dans le journal des événements du service de réplication de fichiers (FRS) au cours des dernières 24 heures, car une réplication défaillante du partage SysVol peut entraîner des problèmes de stratégie. Ce test utilise les protocoles RPC et EventLog Remoting.
Intersite Ce test recherche les défaillances pouvant empêcher ou bloquer temporairement la réplication intersite et prédit le temps nécessaire à la récupération du KCC. Ce test utilise des fonctions de DRS pour vérifier les conditions qui empêchent la réplication AD intersite sur un site spécifique ou tous les sites en :
  • Localisant les générateurs de topologie intersite (ISTG) et en s’y connectant.
  • Localisant les serveurs tête de pont et en s’y connectant.
  • Signalant les échecs de réplication après avoir déclenché une réplication.
  • Vérifiant que tous les contrôleurs de domaine des sites avec des connexions entrantes au site sont disponibles.
  • Vérifiant que les valeurs du KCC pour le remplacement de IntersiteFailuresAllowed et de MaxFailureTimeForIntersiteLink dans la clé de registre sont KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters.

Les paramètres /a ou /e doivent être utilisés, car ne pas indiquer de site revient à autoriser l’exécution du test tout en ignorant le test réel. Ce test utilise le protocole RPC sur le réseau pour tester les aspects de réplication et demander aux connexions de registre de vérifier les entrées de remplacement NTDS. Le protocole LDAP est également utilisé pour localiser les informations de connexion.
KccEvent Ce test interroge le KCC du contrôleur de domaine concernant les erreurs et les avertissements générés dans le journal des événements des services d’annuaire au cours des dernières 15 minutes. Le seuil de 15 minutes est indépendamment de la valeur de registre pour la période de mise à jour de la topologie de réplication (en s) sur le contrôleur de domaine.

Si les règles de pare-feu provoquent l’échec du test, consultez l’article Ko2512643 qui couvre l’activation de ces règles pour permettre au test de réussir. Ce test utilise les protocoles RPC et EventLog Remoting.
KnowsOfRoleHolders Ce test renvoie les connaissances des contrôleurs de domaine pour les cinq rôles FSMO (Flexible Single Master Operation). Il ne vérifie pas toutes les connaissances des contrôleurs de domaine en termes de cohérence. L’utilisation du paramètre /e fournit des données pour la comparaison. Ce test utilise le protocole RPC pour renvoyer DSListRoles dans les fonctions du service de réplication d’annuaire (DRS).
MachineAccount Ce test vérifie si le compte d’ordinateur est correctement inscrit et si les services ont été publiés via les protocoles LDAP et RPC sur SMB. Il vérifie également :
  • Si le compte d’ordinateur du contrôleur de domaine existe dans AD.
  • S’il se trouve dans l’unité d’organisation des contrôleurs de domaine.
  • S’il possède les bons indicateurs UserAccountControlpour les contrôleurs de domaine.
  • Si les bons attributs ServerReference ont été définis.
  • Si les noms de principal de service (SPN) a minima requis ont été définis. Ce test est identique à CheckSecurityError, car il utilise le même test interne.

Ce test offre également deux options de réparation :
  • /RecreateMachineAccount : recrée un compte d’ordinateur de contrôleur de domaine manquant. Ce correctif n’est pas recommandé, car il ne recrée aucun objet enfant de contrôleur de domaine (comme les abonnements FRS et DFSR). La meilleure pratique consiste à utiliser une sauvegarde SystemState valide pour procéder à la récupération faisant autorité de l’objet supprimé et des objets enfants du contrôleur de domaine. Si vous utilisez cette option, le contrôleur de domaine doit être rétrogradé de façon cohérente et promu pour réparer toutes les relations manquantes.
  • /FixMachineAccount : ajoute les indicateurs UserAccountControl TRUSTED_FOR_DELEGATION et SERVER_TRUST_ACCOUNT à un compte d’ordinateur de contrôleur de domaine. Il est préférable d’utiliser cette option de réparation plutôt que de définir ces indicateurs par vous-même via ADSIEDIT ou d’autres éditeurs LDAP.
NCSecDesc Ce test vérifie les autorisations pour tous les contextes d’appellation (par exemple : schéma, configuration, etc.) sur le contrôleur de domaine source, afin de valider la réplication et la connectivité entre les contrôleurs de domaine. Il garantit que les contrôleurs de domaine d’entreprise et les groupes d’administrateurs disposent des autorisations minimales appropriées. Ce test est identique à celui effectué avec CheckSecurityError. Ce test utilise le protocole LDAP.
NetLogons Ce texte vérifie la connectivité, afin de s’assurer que l’utilisateur qui exécute DCDiag peut se connecter et lire les partages SYSVOL et NETLOGON sans aucune erreur de sécurité. Il vérifie également que les administrateurs, les utilisateurs authentifiés et les groupes Tout le monde disposent des privilèges d’accès à cet ordinateur à partir du réseau sur le contrôleur de domaine.
ObjectsReplicated Vérifie que les objets de compte d’ordinateur et de système d’annuaire distant DSA (Directory System Agent) ont été répliqués. Il vérifie que deux objets sont validés par défaut, qu’ils existent dans chaque contrôleur de domaine et qu’ils sont à jour sur tous les autres contrôleurs de domaine :
  • CN=NTDS Settings
  • CN=<DC name>

Vous pouvez utiliser le paramètre /objectdn:dn avec le paramètre /n:nc pour spécifier un objet supplémentaire à vérifier. Ce test utilise le protocole RPC et les fonctions de DRS.
OutboundSecureChannels Ce test ne s’exécute pas par défaut. Il vérifie qu’il existe des canaux sécurisés entre tous les contrôleurs de domaine du domaine et les domaines spécifiés par le paramètre /testdomain. Le paramètre /nositerestriction empêche DCDiag de limiter le test aux contrôleurs de domaine du site.
RegisterInDNS Ce test vérifie si le serveur d’annuaire peut inscrire les enregistrements DNS du localisateur de serveurs d’annuaire. Ces enregistrements doivent être présents dans le DNS pour que d’autres ordinateurs recherchent ce serveur d’annuaire pour le domaine <Active_Directory_Domain_DNS_Name>. Il indique également si une modification de l’infrastructure DNS existante est requise. Le paramètre /DnsDomain:<Active_Directory_Domain_DNS_Name> doit être utilisé. Ce test vérifie :
  • Que la zone DNS faisant autorité peut être contactée.
  • Si au moins une carte réseau dispose d’un serveur DNS principal défini.
  • Si vous disposez d’un espace de noms disjoint en fonction du suffixe DNS.
  • Que la zone DNS faisant autorité peut être contactée.
  • Si les mises à jour DNS dynamiques sont possibles pour l’enregistrement A du serveur. Il vérifie les paramètres sur la zone DNS faisant autorité et la configuration du registre client pour DnsUpdateOnAllAdapters et DisableDynamicUpdate.
  • Si un enregistrement DClocator LDAP (comme le domaine _ldap._tcp.dc._msdcs.<)> est retourné lors de l’interrogation des forêts existantes.
Réplications Ce test vérifie tous les objets de connexion de réplication AD pour tous les contextes d’appellation sur le ou les contrôleurs de domaine spécifiés, si :
  • La dernière tentative de réplication a réussi ou renvoie une erreur.
  • Cette réplication est désactivée.
  • La latence de réplication est supérieure à 12 heures.
RidManager Vérifie si l’identificateur relatif (RID) maître est accessible et si :
  • Il contient les bonnes informations.
  • Il peut être localisé et contacté via un DsBind.
  • Il a des valeurs de pool RID valides.

Le titulaire du rôle doit être en ligne et accessible pour que les contrôleurs de domaine puissent créer des principaux de sécurité (utilisateurs, ordinateurs et groupes) ainsi que d’autres contrôleurs de domaine à promouvoir au sein d’un domaine. Ce test utilise les protocoles LDAP et RPC.
Services Ce test vérifie que différents services dépendants d’AD sont en cours d’exécution, accessibles et définis sur des types de démarrage spécifiques. Ces services démarrent automatiquement et s’exécutent dans un processus partagé, sauf indication contraire :
  • DFSR (s’exécute avec son propre processus)
  • DNSCACHE
  • EVENTSYSTEM
  • IISADMIN (si vous utilisez la réplication AD basée sur SMTP)
  • ISMSERV
  • KDC
  • NETLOGON
  • NTDS
  • NTFRS (s’exécute avec son propre processus)
  • RPCSS
  • SAMSS
  • SERVER
  • SMTPSVC (si vous utilisez la réplication AD basée sur SMTP)
  • W32TIME (démarre automatiquement ou manuellement)
  • WORKSTATION

Ces noms de service sont répertoriés au chemin d’accès de registre HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services. Ce test utilise le protocole RPC et le protocole distant Service Control Manager.
SysVolCheck Ce test lit la clé de registre SysVolReady des contrôleurs de domaine pour vérifier que le SYSVOL est prêt. Le nom de la valeur doit exister avec la valeur 1 pour réussir le test et fonctionner avec les SYSVOL FRS ou DFSR répliqués. Ce test ne vérifie pas si les partages SYSVOL et NELOGON sont accessibles, car CheckSecurityError prend cela en charge. Ce test utilise le protocole RPC sur SMB.
SystemLog Ce test valide l’intégrité du journal des événements système en lisant et en écrivant les entrées des dernières 60 minutes pour l’ensemble des erreurs et des avertissements. Ce test utilise le protocole RPC et le protocole distant Service Control Manager.
Topologie Ce test vérifie que la topologie de réplication AD générée est entièrement connectée pour tous les DSA. Ce test ne s’exécute pas par défaut et doit être exécuté explicitement. Il vérifie :
  • Si la génération automatique de la topologie intrasite est désactivée.
  • Si la génération automatique de la topologie intersite est désactivée.
  • S’il existe des topologies déconnectées (objets de connexion manquants) en amont et en aval à partir de chaque contrôleur de domaine de référence.

Ce test utilise les protocoles RPC et LDAP, ainsi que DsReplicaSyncAll avec l’indicateur DS_REPSYNCALL_DO_NOT_SYNC. Autrement dit, il analyse et valide la topologie de réplication sans réellement répliquer les modifications. Ce test ne valide pas la disponibilité des partenaires de réplication. Le fait qu’un partenaire soit hors connexion ne provoque aucun échec avec ce test. Ce test ne vérifie pas non plus si la planification est close, ce qui empêche la réplication. Pour afficher les résultats de réplication actifs, utilisez les tests Replications ou CutoffServers.
VerifyEnterpriseReferences Vérifie que les références système spécifiées sont intactes pour l’infrastructure de réplication et FRS sur tous les objets de l’entreprise de chaque contrôleur de domaine. Cela inclut les attributs et les objets du site du contrôleur de domaine suivants :
  • frsComputerReference : cn=domain system volume (partage sysvol),cn=ntfrs subscriptions,cn=<DC Name>,ou=domain controllers,DC=<domain>
  • frsComputerReferenceBL : cn=<DC Name>,cn=domain system volume (partage sysvol),cn=file replication service,cn=system,dc=<domain>
  • hasMasterNCs: cn=ntds settings,cn=<DC Name>,cn=<site>,cn=sites,cn=configuration,dc=<domain>
  • msDFSR-ComputerReference: cn=<DC Name>,cn=topology,cn=domain system volume,cn=dfsr-blobalsettings,cn=system,dc=<domain>
  • msDFSR-ComputerReferenceBL: cn=<DC Name>,ou=domain controllers,dc=<domain>
  • nCName: cn=<partition name>,cn=partitions,cn=configuration,dc=<domain>
  • ServerReference: cn=<DC name>,cn=<site>,cn=sites,cn=configuration,dc=<domain>
  • ServerReferenceBL: cn=<DC Name>,ou=domain controllers,dc=<domain>

Les deux tests DFSR sont effectués uniquement si le niveau fonctionnel du domaine est Windows Server 2008 ou version ultérieure. Autrement dit, un échec est attendu si DFSR n’a pas été migré vers SYSVOL. Ce test utilise le protocole LDAP et seuls les contrôleurs de domaine spécifiés sont contactés.
VerifyReferences Vérifie que certaines références système sont intactes pour l’infrastructure de réplication et FRS. Ce test vérifie les attributs de référence d’ordinateur pour un contrôleur de domaine unique, y compris les attributs et les objets du site du contrôleur de domaine suivants :
  • frsComputerReference : cn=domain system volume (partage sysvol),cn=ntfrs subscriptions,cn=<DC Name>,ou=domain controllers,DC=<domain>
  • frsComputerReferenceBL : cn=<DC Name>,cn=domain system volume (partage sysvol),cn=file replication service,cn=system,dc=<domain>
  • msDFSR-ComputerReference: cn=<DC Name>,cn=topology,cn=domain system volume,cn=dfsr-blobalsettings,cn=system,dc=<domain>
  • msDFSR-ComputerReferenceBL: cn=<DC Name>,ou=domain controllers,dc=<domain>
  • ServerReference: cn=<DC name>,cn=<site>,cn=sites,cn=configuration,dc=<domain>
  • ServerReferenceBL: cn=<DC Name>,ou=domain controllers,dc=<domain>

Ce test utilise le protocole LDAP et est similaire au test VerifyEnterpriseRefrences, sauf qu’il ne vérifie pas les renvois de partition ni tous les autres objets du contrôleur de domaine.
VerifyReplicas Vérifie que toutes les partitions d’annuaire d’applications sont complètement instanciées sur tous les serveurs réplica. Il vérifie que le serveur spécifié héberge les partitions d’application spécifiées par ses attributs crossref dans le conteneur de partitions. Il fonctionne comme CheckSDRefDom, sauf qu’il n’affiche pas les données de sortie et qu’il valide l’hébergement. Ce test utilise le protocole LDAP.

Remarque

Vous ne pouvez pas ignorer les vérifications de connectivité sur les contrôleurs de domaine inscrits sur le réseau qui se connectent à d’autres ressources comme DNS, LDAP et RPC.

Syntaxe 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]

Le test DNS utilise les paramètres suivants :

Paramètre Description
/test:DNS Effectue le test DNS spécifié. Si aucun test n’est spécifié, la valeur par défaut est /DnsAll.
/DnsBasic Effectue des tests DNS de base, notamment la connectivité réseau, la configuration du client DNS, la disponibilité du service et l’existence d’une zone.
/DnsForwarders Effectue les tests /DnsBasic et vérifie également la configuration des redirecteurs.
/DnsDelegation Effectue les tests /DnsBasic et recherche également les délégations appropriées.
/DnsDynamicUpdate Effectue des tests /DnsBasic et détermine également si la mise à jour dynamique est activée dans la zone Active Directory.
/DnsRecordRegistration Effectue les tests /DnsBasic et vérifie également si l’adresse (A), le nom canonique (CNAME) et les enregistrements de ressource SRV sont enregistrés. En outre, crée un rapport d’inventaire basé sur les résultats des tests.
/DnsResolveExtName [/DnsInternetName:\<InternetName>] Effectue les tests /DnsBasic et tente également de résoudre InternetName. Si /DnsInternetName n’est pas spécifié, tente de résoudre le nom <www.microsoft.com>. Si /DnsInternetName est spécifié, tente de résoudre le nom Internet fourni par l’utilisateur.
/DnsAll Effectue l’ensemble des tests à l’exception du test /DnsResolveExtName et génère un rapport.
/f:<LogFile> Redirige toutes les sorties vers un fichier journal.
/s:<DomainController> Exécute les tests sur le contrôleur de domaine. Si ce paramètre n’est pas spécifié, les tests sont exécutés sur le contrôleur de domaine local.
/e Exécute tous les tests spécifiés par /test:DNS sur tous les contrôleurs de domaine de la forêt Active Directory.
/v Verbose. Présente des informations étendues sur les résultats des tests réussis en plus des informations sur les erreurs et les avertissements.
Quand le paramètre /v n’est pas utilisé, fournit uniquement des informations d’erreur et d’avertissement. Utilisez le commutateur /v quand des erreurs ou des avertissements sont signalés dans le tableau récapitulatif.
/x:<XMLLog.xml> Redirige toutes les sorties vers xmllog.xml. Ce paramètre fonctionne uniquement avec l’option /test:DNS.
/xsl :<XSLFile.xsl> ou
/xsl:<XSLTFile.xslt>
Ajoute les instructions de traitement qui référencent la feuille spécifiée. Ce paramètre fonctionne uniquement avec l’option /test:DNS /x:<XMLLog.xml.

Notes

L’exécution des tests DNS peut durer longtemps dans les grandes entreprises quand le paramètre /e est utilisé. Les contrôleurs de domaine et les serveurs DNS hors connexion augmentent les temps d’exécution en raison de longs délais d’expiration pour RPC et d’autres protocoles.

Exemples

Test de connectivité

Pour exécuter une série de tests de connectivité sur le domaine local, exécutez la commande suivante :

dcdiag

Vous trouverez ci-dessous une sortie de test de connectivité réussi :

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

Pour exécuter une série de tests de connectivité sur un contrôleur de domaine spécifique, exécutez la commande suivante :

dcdiag /s:<DomainControllerName>

Cette opération doit générer des résultats similaires à ceux du test local si aucun problème ne survient.

Sortie dans un fichier journal

DCDiag peut enregistrer les résultats de sortie dans un fichier texte grâce à la commande suivante :

dcdiag /s:<DomainControllerName> /f:<FileName.txt>

Si aucun <FilePath> n’est spécifié, les résultats sont enregistrés dans C:\Users\<UserName>\<FileName.txt> par défaut.

Pour les enregistrer à un emplacement spécifique, exécutez la commande suivante :

dcdiag /s:<DomainControllerName> /f:<DriveLetter>\<FilePath>\<FileName.txt>

Voir aussi

Clé de syntaxe de ligne de commande