Points clés
- Créer une référence de configuration des diagnostics DNS : utilisez des commandes PowerShell comme Get-DnsServerDiagnostics et exportez les données aux formats CSV/JSON.
- Activer des diagnostics DNS ciblés : n’activez que les indicateurs nécessaires (-Query, -Send, -Receive, -ZoneTransfer) pour éviter la surcharge de journaux tout en identifiant les problèmes DNS.
- Collecter et exporter les preuves DNS : utilisez les cmdlets PowerShell (Get-WinEvent, Get-DnsServerZone, Export-Csv) pour rassembler les journaux, corréler les événements et documenter les causes racines.
- Revenir à la référence de configuration des serveurs DNS : désactivez les diagnostics en toute sécurité et rétablissez les paramètres par défaut avec Set-DnsServerDebugLog et Set-DnsServerDiagnostics.
- Automatiser la surveillance de la santé DNS : planifiez des diagnostics et des alertes récurrents via PowerShell ou des outils RMM comme NinjaOne pour réduire le temps moyen de réparation (MTTR).
Même si l’interface graphique permet de le faire, maîtriser les commandes PowerShell pour le DNS Windows et savoir vérifier les diagnostics permet à votre MSP d’automatiser les processus et de mener une analyse des causes racines avec un minimum de perturbations, ce qui renforce votre résilience face aux attaques DNS.
Cet article explique comment activer des diagnostics ciblés, créer une référence de configuration, consigner les preuves et annuler les modifications apportées au serveur à l’aide de commandes PowerShell spécialisées et des fonctionnalités RMM.
Résoudre les problèmes DNS avec PowerShell
Les étapes ci-dessous offrent un cadre structuré pour répondre à la question : « comment résoudre un problème DNS ? »
📌Prérequis :
- PowerShell en mode administrateur sur un système disposant du module DNS Server (à distance ou sur l’hôte DNS).
- Accès au rôle DNS Server et aux canaux d’événements concernés.
- Modifier la politique Windows ou la politique Safe-to-Enable Diagnostics.
- Dépôt versionné pour les exports JSON/CSV des références de configuration.
Méthode 1 : commencer par le triage du côté terminal
Avant de vous lancer dans les diagnostics DNS côté serveur, vous devez d’abord écarter toute erreur de configuration côté client susceptible d’affecter la disponibilité et la fiabilité du serveur. Effectuez les vérifications suivantes avant de poursuivre :
- Vérifiez que la carte réseau du client parvient à établir une connexion avec la passerelle et les serveurs DNS.
- Vérifiez que les types d’enregistrements de domaine correspondent bien à leurs adresses IP respectives (par exemple, un enregistrement AAAA associe un nom de domaine à une adresse IPv6).
- Analysez votre cache DNS à la recherche de signaux utiles au dépannage (par exemple, des chemins de requête erronés ou un comportement de durée de vie trop court).
Méthode 2 : créer une référence de configuration des diagnostics DNS
Capturez l’état des paramètres de votre serveur DNS avant d’appliquer la moindre modification. Vous garantissez ainsi la traçabilité et des retours en arrière propres si vous devez revenir à un état fonctionnel antérieur.
📌 Cas d’usage : comparer avec de futurs incidents et rétablir des paramètres DNS cohérents.
📌 Prérequis : PowerShell 5.1, privilèges d’administrateur.
- Appuyez sur Win + R, tapez PowerShell, puis appuyez sur Ctrl + Maj + Entrée.
- Exécutez cette commande pour vérifier que vous disposez bien du module DNS Server :
Get-Module -ListAvailable -Name DnsServer
- S’il n’est pas installé, exécutez la commande suivante :
Install-WindowsFeature -Name RSAT-DNS-Server
- Pour exporter les paramètres DNS et les paramètres de diagnostic à vérifier, utilisez la commande suivante :
- Sous forme de fichier CSV :
Get-DnsServerDiagnostics | Export-Csv -Path "C:\DNS_Baseline\DnsDiagnostics.csv" -NoTypeInformation
« `
- Sous forme de fichier JSON :
Get-DnsServerDiagnostics | ConvertTo-Json | Out-File "C:\DNS_Baseline\DnsDiagnostics.json"
💡Astuce : conservez ces fichiers dans un dossier dédié au rapport trimestriel d’activité (par exemple, le dossier QBR/ticket d’incident).
- Vérifiez le suivi des événements DNS et enregistrez-le dans un fichier texte :
Get-WinEvent -ListLog *DNS* | Format-Table LogName, LogType, IsEnabled | Out-File "C:\DNS_Baseline\ETW_Status.txt"
«
- Enregistrez l’ensemble dans votre dossier de gestion des changements pour y accéder facilement.
Méthode 3 : activer des diagnostics ciblés (au strict nécessaire)
N’activez que les diagnostics pertinents afin d’éviter la surcharge de journaux et de limiter l’impact sur les environnements de production. Cette approche ciblée aide à identifier la cause racine des défaillances DNS sans saturer votre serveur.
📌 Cas d’usage : déboguer efficacement les serveurs DNS grâce à des commandes de diagnostic puissantes.
📌 Prérequis : PowerShell 5.1, privilèges d’administrateur et module DNS Server
- Appuyez sur Win + R, tapez PowerShell, puis appuyez sur Ctrl + Maj + Entrée.
- Déterminez quelle couche DNS pose problème :
💡Astuce : servez-vous des journaux, des messages d’erreur ou de nslookup/Resolve-DnsName pour affiner votre recherche.
| Couche | Symptômes | Objet du diagnostic |
| Résolution des requêtes | Les clients ne parviennent pas à résoudre les noms | Query, Receive, Send |
| Transferts de zone | Le DNS secondaire ne se synchronise pas | ZoneTransfer, Update |
| Mises à jour dynamiques | Les clients DHCP ne s’enregistrent pas | Update, Write |
| Problèmes de transfert | Échec des résolutions externes | Forwarding, Query |
- Pour afficher les indicateurs de diagnostic actuellement activés, exécutez la commande suivante :
- Pour activer les indicateurs dont vous avez besoin (par exemple, les diagnostics Query et Send), exécutez la commande suivante :
Set-DnsServerDiagnostics -Query $true -Send $true
- Pour aller plus loin dans l’analyse, activez temporairement la journalisation de débogage pendant vos vérifications DNS :
Set-DnsServerDebugLog -WriteDebugLog $true -MaxMBFileSize <MaxMBFile> -MaxMBPerDirectory <MaxMBDirectory>
«
Remplacez <MaxMBFile> par la taille maximale par fichier journal (par exemple, 10).
Remplacez <MaxMBDirectory> par la taille totale de l’ensemble des fichiers journaux (par exemple, 50).
- Pour documenter vos modifications, exécutez ces commandes :
- Pour enregistrer vos modifications :
Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Baseline\Diagnostics_After.csv" -NoTypeInformation
- Pour documenter l’état du journal de débogage :
Get-DnsServerDebugLog | Out-File "C:\DNS_Baseline\DebugLog_Status.txt"
Méthode 4 : corréler événements, zones et opérations
Reliez vos données de diagnostic à des zones ou à des processus DNS précis afin de localiser et de corriger les problèmes concernés. Cette approche peut expliquer des erreurs d’indexation de services web internes ou des échecs d’accès utilisateur dans l’infrastructure réseau de votre client.
Cette étape impose aux techniciens de surveiller manuellement les journaux d’événements DNS, de reproduire les problèmes et de valider les paramètres de récursivité à l’aide de plusieurs scripts. NinjaOne simplifie ce processus au sein d’une seule plateforme grâce à des scripts prêts à l’emploi offrant une visibilité au niveau des zones et à des déclencheurs d’alerte pour les conditions liées au DNS.
🥷🏻| Exploitez des scripts éprouvés et efficaces pour des délais de résolution plus courts et un meilleur ROI (retour sur investissement).
Découvrez la bibliothèque de scripts personnalisés de NinjaOne.
Méthode 5 : exporter les preuves et revenir à la référence de configuration
Une fois les preuves collectées, conservez vos conclusions pour permettre des retours en arrière propres et des corrections plus rapides si le problème se reproduit.
📌 Cas d’usage : créer un playbook réutilisable et améliorer les délais de réponse aux problèmes liés au DNS.
📌 Prérequis : PowerShell 5.1, privilèges d’administrateur et module DNS Server
- Appuyez sur Win + R, tapez PowerShell, puis appuyez sur Ctrl + Maj + Entrée.
- Exportez vos journaux :
- Journaux d’événements DNS vers votre dossier QBR/ticket d’incident :
Get-WinEvent -LogName "Microsoft-Windows-DNS-Server/Audit" -MaxEvents 500 | Export-Csv "C:\DNS_Incident\Evidence_DNS_Events.csv" -NoTypeInformation
- État du journal de débogage DNS :
Get-DnsServerDebugLog | Out-File "C:\DNS_Incident\DebugLog_Status.txt"
- Paramètres de diagnostic actuels :
Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Incident\Diagnostics_After.csv" -NoTypeInformation
- Informations sur les zones :
Get-DnsServerZone | Export-Csv "C:\DNS_Incident\ZoneInfo.csv" -NoTypeInformation
- Pour désactiver toute journalisation de diagnostic temporaire, exécutez la commande suivante :
Set-DnsServerDebugLog -WriteDebugLog $false
- Pour réinitialiser manuellement vos diagnostics à la référence de configuration, exécutez cette commande :
Set-DnsServerDiagnostics -Query $false -Send $false -Receive $false -ZoneTransfer $false -Update $false
- Exécutez ce script pour capturer votre état avant de revenir à la référence de configuration :
Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Incident\Diagnostics_Final.csv" -NoTypeInformation
- Documentez la cause racine et la correction dans un fichier texte récapitulatif :
"
Date: 2025-10-31
Serveur : DNS01
Problème : échec de la résolution DNS pour les domaines externes
Cause racine : redirecteur mal configuré et enregistrements obsolètes dans la zone intégrée à AD
Correction appliquée : paramètres du redirecteur mis à jour, nettoyage activé, enregistrements obsolètes supprimés
Diagnostics utilisés : Get-DnsServerDiagnostics, journaux d’événements, analyse des zones
"@ | Out-File "C:\DNS_Incident\Incident_Summary.txt"
Méthode 6 : industrialiser les diagnostics DNS et leur vérification (contrôles de santé planifiés et alertes)
Enfin, mettez en place des déclencheurs d’alerte permanents pour les problèmes DNS tels que les pics de NXDOMAIN ou les délais d’expiration de récursivité, afin de réduire votre temps moyen de réparation (MTTR). Vous pouvez planifier l’exécution de ces scripts à l’aide d’outils intégrés comme le Planificateur de tâches, ou opter pour des solutions rationalisées comme NinjaOne.
Outre le maintien de domaines sains et réactifs, des contrôles hebdomadaires proactifs améliorent également la visibilité sur les réseaux de vos clients et préparent des données dignes d’un rapport trimestriel d’activité, ce qui laisse à votre MSP plus de temps pour se consacrer à d’autres projets.
Comment NinjaOne facilite le dépannage DNS et sa vérification
La plateforme NinjaOne offre une vue d’ensemble de tous vos terminaux, y compris les serveurs DNS virtuels, depuis un tableau de bord centralisé. Voici comment les fonctionnalités de surveillance à distance peuvent améliorer l’efficacité de vos diagnostics DNS et de leur vérification.
| Étape | Sans NinjaOne | Avec NinjaOne |
| Commencer par le triage du côté terminal. | Vérifications manuelles de la configuration de la carte réseau, de la passerelle et des serveurs DNS | L’agent NinjaOne automatise les contrôles de performance et de santé des terminaux. |
| Créer une référence de configuration des diagnostics DNS. | Les scripts sont exécutés manuellement et les résultats stockés dans des dossiers partagés. | Les scripts et le stockage NinjaOne simplifient les exports planifiés. |
| Activer des diagnostics ciblés (au strict nécessaire). | Les indicateurs doivent être activés et vérifiés par les techniciens, avec un risque de surcharge de journaux. | Déployer des scripts de diagnostic ciblés avec des contrôles de rétention. |
| Corréler événements, zones et opérations. | Recoupement manuel des journaux et des paramètres dans plusieurs consoles. | Les analyses NinjaOne vous aident à collecter les journaux et à corréler les événements DNS. |
| Exporter les preuves et revenir à la référence de configuration. | Export des journaux et retour en arrière manuels, avec un risque d’erreur humaine. | Des scripts NinjaOne éprouvés automatisent la collecte de preuves et les retours en arrière. |
| Industrialiser (contrôles de santé planifiés et alertes). | Nécessite des scripts personnalisés et plusieurs outils de surveillance externes. | Alertes intégrées, diagnostics planifiés et surveillance continue de la santé. |
Automatiser PowerShell pour résoudre les problèmes de serveur DNS
Le recours aux scripts PowerShell permet aux équipes informatiques de déployer et de documenter rapidement le dépannage des serveurs DNS. En associant ces scripts à un playbook structuré et à un MDM de premier plan, les MSP peuvent instaurer la confiance avec leurs partenaires commerciaux, assurer une supervision 24h/24 et affiner leurs diagnostics DNS.
Sujets connexes :
- Comment trouver les serveurs DNS utilisés dans Windows 11
- Qu’est-ce qu’un résolveur DNS et comment le configurer
- L’erreur « Le serveur DNS ne répond pas » : origine et solutions
- Comment créer des scripts de remédiation RMM personnalisés pour corriger automatiquement les problèmes de DNS, de mise à jour et de BitLocker
- Maîtriser la gestion du cache DNS : vider le DNS avec PowerShell
