/
/

Een Windows DNS-server diagnosticeren met PowerShell

door Team Ninja
How to Diagnose a Windows DNS Server with PowerShell blog banner image

Directe samenvatting

Deze blogpost van NinjaOne biedt een uitgebreide basislijst met CMD-commands en een deep dive duik in Windows-commands met meer dan 70 essentiële cmd-commands voor zowel beginners als gevorderden. Het legt praktische opdrachtpromptcommando’s uit voor file management, directory navigation, network troubleshooting, disk operations en automatisering met echte voorbeelden om de productiviteit te verbeteren. Of u nu fundamentele cmd-commands leert of geavanceerde Windows CLI-tools onder de knie krijgt, deze gids helpt u de Command Prompt effectiever te gebruiken.

Belangrijkste punten

  • Maak een baseline van de DNS-diagnostiek: gebruik PowerShell-commando’s zoals Get-DnsServerDiagnostics en exporteer gegevens in CSV- of JSON-formaat.
  • Schakel gerichte DNS-diagnostiek in: activeer alleen de noodzakelijke diagnostische vlaggen (-Query, -Send, -Receive, -ZoneTransfer) om een overdaad aan logbestanden te voorkomen terwijl u DNS-problemen opspoort.
  • Leg DNS-bewijsmateriaal vast en exporteer het: gebruik PowerShell-cmdlets (Get-WinEvent, Get-DnsServerZone, Export-Csv) om logbestanden te verzamelen, events te correleren en onderliggende oorzaken te documenteren.
  • Zet DNS-servers terug naar de baseline: schakel diagnostiek veilig uit en herstel de standaardinstellingen met Set-DnsServerDebugLog en Set-DnsServerDiagnostics.
  • Automatiseer de monitoring van de DNS-gezondheid: plan terugkerende diagnostiek en notificaties via PowerShell of RMM-tools zoals NinjaOne om uw MTTR te verlagen.

Hoewel het ook via de grafische interface kan, stelt kennis van PowerShell-commando’s voor Windows DNS en van de manier waarop u diagnostiek controleert uw MSP in staat processen te automatiseren en een RCA (Root Cause Analysis) uit te voeren met minimale verstoring, wat de weerbaarheid tegen DNS-aanvallen vergroot.

Dit artikel legt uit hoe u gerichte diagnostiek inschakelt, een baseline maakt, bewijsmateriaal vastlegt en serverwijzigingen terugdraait met specifieke PowerShell-commando’s en RMM-mogelijkheden.

DNS-problemen oplossen met PowerShell

De onderstaande stappen vormen een gestructureerd kader voor de vraag “Hoe lost u een DNS-probleem op?”

📌Vereisten:

  • PowerShell met beheerdersrechten op een systeem met de DNS Server-module (op afstand of op de DNS-host).
  • Toegang tot de DNS Server-rol en de relevante event channels.
  • Wijzig het beleid voor Windows of Safe-to-Enable Diagnostics.
  • Repository met versiebeheer voor baseline-exports in JSON/CSV.

Bekijk de triagemethode voor endpoints die als eerste staat beschreven in Een Windows DNS-server diagnosticeren met PowerShell.

Methode 1: begin met de triage van het endpointpad

Voordat u zich op diagnostiek aan de serverkant stort, moet u eerst uitsluiten dat verkeerde clientconfiguraties de uptime en de betrouwbaarheid van de server beïnvloeden. Doe het volgende voordat u verdergaat:

  • Controleer of de netwerkadapter van de client verbinding kan maken met de gateway en de DNS-servers.
  • Controleer of de typen domeinrecords overeenkomen met de bijbehorende IP-adressen (een AAAA-record koppelt een domeinnaam bijvoorbeeld aan een IPv6-adres).
  • Doorzoek uw DNS-cache op bruikbare signalen voor probleemoplossing (bijvoorbeeld verkeerde querypaden of een kort time-to-live-gedrag).

Methode 2: leg een baseline van de DNS-diagnostiek vast

Leg vast hoe uw DNS-serverinstellingen eruitzien voordat u wijzigingen doorvoert. Zo zorgt u voor traceerbaarheid en schone rollbacks als u moet terugkeren naar een eerdere werkende situatie.

📌 Toepassingen: vergelijken met toekomstige incidenten en consistente DNS-instellingen herstellen.

📌 Vereisten: PowerShell 5.1, beheerdersrechten.

  1. Druk op Win + R, typ PowerShell en druk op Ctrl + Shift + Enter.
  2. Voer dit commando uit om te controleren of u de DNS Server-module hebt:

Get-Module -ListAvailable -Name DnsServer

    1. Als die niet is geïnstalleerd, voer dan het volgende uit:

Install-WindowsFeature -Name RSAT-DNS-Server

  1. Gebruik het volgende om de DNS-instellingen en de diagnostiekinstellingen te exporteren:
    1. Als CSV-bestand:

Get-DnsServerDiagnostics | Export-Csv -Path "C:\DNS_Baseline\DnsDiagnostics.csv" -NoTypeInformation

“`

    1. Als JSON-bestand:

Get-DnsServerDiagnostics | ConvertTo-Json | Out-File "C:\DNS_Baseline\DnsDiagnostics.json"

💡Tip: bewaar deze in een aparte map voor de QBR (Quarterly Business Review), bijvoorbeeld een QBR- of incidentticketmap.

  1. Controleer de DNS-eventregistratie en sla die op in een tekstbestand:

Get-WinEvent -ListLog *DNS* | Format-Table LogName, LogType, IsEnabled | Out-File "C:\DNS_Baseline\ETW_Status.txt"

“

  1. Bewaar alles in uw map voor wijzigingsbeheer zodat u er snel bij kunt.

Methode 3: schakel gerichte diagnostiek in (zo beperkt mogelijk)

Schakel alleen relevante diagnostiek in om een overdaad aan logbestanden te voorkomen en de impact op productieomgevingen te beperken. Met deze gerichte aanpak vindt u de onderliggende oorzaak van DNS-storingen zonder uw server te overbelasten.

📌 Toepassingen: DNS-servers efficiënt debuggen met krachtige diagnostische commando’s.

📌 Vereisten: PowerShell 5.1, beheerdersrechten en de DNS Server-module

  1. Druk op Win + R, typ PowerShell en druk op Ctrl + Shift + Enter.
  2. Bepaal welke DNS-laag voor problemen zorgt:

💡Tip: gebruik logbestanden, foutmeldingen of nslookup/Resolve-DnsName om uw zoekgebied te verkleinen.

LaagSymptomenFocus van de diagnostiek
QueryresolutieClients kunnen namen niet omzettenQuery, Receive, Send
Zone transfersSecundaire DNS synchroniseert nietZoneTransfer, Update
Dynamische updatesDHCP-clients registreren zich nietUpdate, Write
ForwardingproblemenExterne lookups mislukkenForwarding, Query
  1. Voer het volgende uit om de momenteel ingeschakelde diagnostische vlaggen te bekijken:

Get-DnsServerDiagnostics

  1. Voer het volgende uit om de specifieke vlaggen in te schakelen die u nodig hebt (bijvoorbeeld Query- en Send-diagnostiek):

Set-DnsServerDiagnostics -Query $true -Send $true

  1. Schakel voor meer inzicht tijdelijk debug logging in terwijl u de DNS-diagnostiek controleert:

Set-DnsServerDebugLog -WriteDebugLog $true -MaxMBFileSize <MaxMBFile> -MaxMBPerDirectory <MaxMBDirectory>

“

Vervang <MaxMBFile> door de maximale grootte per logbestand (bijvoorbeeld 10).

Vervang <MaxMBDirectory> door de totale grootte van alle logbestanden (bijvoorbeeld 50).

  1. Voer deze commando’s uit om uw wijzigingen te documenteren:
    1. Om uw wijzigingen op te slaan:

Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Baseline\Diagnostics_After.csv" -NoTypeInformation

    1. Om de status van het debug log vast te leggen:

Get-DnsServerDebugLog | Out-File "C:\DNS_Baseline\DebugLog_Status.txt"

Methode 4: leg verbanden tussen events, zones en handelingen

Koppel uw diagnostische gegevens aan specifieke DNS-zones of processen om concrete DNS-problemen te traceren en op te lossen. Zo verklaart u bijvoorbeeld indexeringsfouten bij interne webservices of mislukte gebruikerstoegang in de netwerkinfrastructuur van uw klant.

Bij deze stap moeten technici handmatig DNS-eventlogs bekijken, problemen reproduceren en recursie-instellingen valideren met meerdere scripts. NinjaOne stroomlijnt dit proces op één platform met kant-en-klare scripts voor inzicht op zoneniveau en notificaties die afgaan bij DNS-gerelateerde omstandigheden.

🥷🏻| Gebruik beproefde en efficiënte scripts voor snellere oplostijden en een betere ROI.

Bekijk hier de bibliotheek met eigen scripts van NinjaOne.

Methode 5: exporteer bewijsmateriaal en keer terug naar de baseline

Zodra u bewijsmateriaal hebt verzameld, slaat u uw bevindingen op voor schone rollbacks en snellere oplossingen mocht het probleem zich later opnieuw voordoen.

📌 Toepassingen: een herhaalbaar playbook opstellen en de reactietijden bij DNS-gerelateerde problemen verbeteren.

📌 Vereisten: PowerShell 5.1, beheerdersrechten en de DNS Server-module

  1. Druk op Win + R, typ PowerShell en druk op Ctrl + Shift + Enter.
  2. Exporteer uw logbestanden:
    1. DNS-eventlogs naar uw QBR- of incidentticketmap:

Get-WinEvent -LogName "Microsoft-Windows-DNS-Server/Audit" -MaxEvents 500 | Export-Csv "C:\DNS_Incident\Evidence_DNS_Events.csv" -NoTypeInformation

    1. Status van het DNS-debuglog:

Get-DnsServerDebugLog | Out-File "C:\DNS_Incident\DebugLog_Status.txt"

    1. Huidige diagnostiekinstellingen:

Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Incident\Diagnostics_After.csv" -NoTypeInformation

    1. Zone-informatie:

Get-DnsServerZone | Export-Csv "C:\DNS_Incident\ZoneInfo.csv" -NoTypeInformation

  1. Voer het volgende uit om tijdelijke diagnostische logging uit te schakelen:

Set-DnsServerDebugLog -WriteDebugLog $false

  1. Voer dit commando uit om uw diagnostiek handmatig terug te zetten naar de baseline:

Set-DnsServerDiagnostics -Query $false -Send $false -Receive $false -ZoneTransfer $false -Update $false

  1. Voer dit script uit om uw status vast te leggen voordat u terugkeert naar de baseline:

Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Incident\Diagnostics_Final.csv" -NoTypeInformation

  1. Documenteer de onderliggende oorzaak en de oplossing in een samenvatting in een tekstbestand:

"

Date: 2025-10-31
Server: DNS01
Issue: DNS resolution failure for external domains
Root Cause: Misconfigured forwarder and stale records in AD-integrated zone
Fix Applied: Updated forwarder settings, enabled scavenging, cleared stale records
Diagnostics Used: Get-DnsServerDiagnostics, Event Logs, Zone Analysis
"@ | Out-File "C:\DNS_Incident\Incident_Summary.txt"

Methode 6: maak DNS-diagnostiek operationeel (geplande health checks & notificaties)

Stel tot slot doorlopende notificaties in voor DNS-problemen zoals NXDOMAIN-pieken of recursietime-outs om uw MTTR (Mean Time To Repair) te verlagen. U kunt deze scripts laten uitvoeren via ingebouwde tools zoals Taakplanner of via gestroomlijnde oplossingen zoals NinjaOne.

Proactieve wekelijkse controles houden niet alleen uw domeinen gezond en responsief, maar vergroten ook het inzicht in klantnetwerken en leveren gegevens die geschikt zijn voor een QBR. Zo houdt uw MSP meer tijd over voor andere projecten.

Zo lost NinjaOne DNS-problemen op

Het platform van NinjaOne biedt vanuit één centraal dashboard overzicht over al uw endpoints, inclusief virtuele DNS-servers. Zo verhoogt monitoring op afstand de efficiëntie van uw DNS-diagnostiek.

StapZonder NinjaOneMet NinjaOne
Begin met de triage van het endpointpad.Handmatige controles van adapterconfiguratie, gateway en DNS-serversDe NinjaOne-agent automatiseert controles van prestaties en gezondheid van endpoints.
Leg een baseline van de DNS-diagnostiek vast.Scripts worden handmatig uitgevoerd en de resultaten in gedeelde mappen opgeslagen.Scripts en opslag van NinjaOne stroomlijnen geplande exports.
Schakel gerichte diagnostiek in (zo beperkt mogelijk).Technici moeten vlaggen omzetten en controleren; risico op te veel logbestanden.Gebruik afgebakende diagnostische scripts met bewaarinstellingen.
Leg verbanden tussen events, zones en handelingen.Handmatig logbestanden en instellingen vergelijken in meerdere consoles.Inzichten van NinjaOne helpen u logbestanden te verzamelen en DNS-events te correleren.
Exporteer bewijsmateriaal en keer terug naar de baseline.Handmatige logexport en rollback; risico op menselijke fouten.Beproefde NinjaOne-scripts automatiseren het vastleggen van bewijs en rollbacks.
Maak het operationeel (geplande health checks & notificaties).Vereist eigen scripts en meerdere externe monitoringtools.Ingebouwde notificaties, geplande diagnostiek en doorlopende monitoring van de gezondheid.

Automatiseer PowerShell om DNS-serverproblemen op te lossen

Met PowerShell-scripts kunnen IT-medewerkers het oplossen van DNS-serverproblemen snel uitrollen en vastleggen. Door deze scripts te combineren met een gestructureerd playbook en een MDM van topniveau, bouwen MSP’s vertrouwen op bij zakenpartners, bieden ze bewaking rond de klok en verfijnen ze hun DNS-diagnostiek.

Gerelateerde onderwerpen:

FAQs

PowerShell biedt besturing via de commandoregel om DNS-prestaties te analyseren, verkeerde configuraties op te sporen en diagnostiek te automatiseren. Daardoor lost u problemen sneller op met minder uitvaltijd dan met de grafische DNS-beheerconsole.

Een baseline van de DNS-diagnostiek legt de huidige DNS-instellingen en logbestanden van uw server vast voordat u wijzigingen doorvoert. Dat zorgt voor traceerbaarheid, maakt schone rollbacks mogelijk en helpt configuraties te vergelijken bij toekomstige incidenten.

Gebruik Set-DnsServerDiagnostics om specifieke diagnostische vlaggen in te schakelen, zoals -Query, -Send en -ZoneTransfer. Zo debugt u gericht zonder onnodige loggegevens te genereren.

Voer commando’s uit zoals Get-WinEvent en Export-Csv om DNS-eventlogs, de diagnostiekstatus en zoneconfiguraties vast te leggen in gestructureerde bestanden voor audits, RCA (Root Cause Analysis) of compliance-documentatie.

Gebruik Set-DnsServerDebugLog -WriteDebugLog $false en zet de vlaggen terug met de parameters van Set-DnsServerDiagnostics op $false. Zo herstelt u de baselineconfiguratie en voorkomt u dat er te veel gegevens worden verzameld.

Dit vindt u misschien ook leuk

Klaar om de moeilijkste delen van IT te vereenvoudigen?