Pontos principais
- Crie uma linha de base de diagnósticos de DNS: use comandos do PowerShell como Get-DnsServerDiagnostics e exporte os dados em CSV/JSON.
- Ative diagnósticos de DNS direcionados: ative apenas os sinalizadores necessários (-Query, -Send, -Receive, -ZoneTransfer) para identificar problemas de DNS sem gerar excesso de logs.
- Capture e exporte evidências de DNS: use cmdlets do PowerShell (Get-WinEvent, Get-DnsServerZone, Export-Csv) para coletar logs, correlacionar eventos e documentar causas raiz.
- Volte os servidores DNS à linha de base: desative os diagnósticos com segurança e restaure as configurações padrão com Set-DnsServerDebugLog e Set-DnsServerDiagnostics.
- Automatize o monitoramento de integridade do DNS: agende diagnósticos e alertas recorrentes pelo PowerShell ou por ferramentas de RMM como NinjaOne para reduzir o MTTR.
Mesmo estando disponível pela interface gráfica, aprender os comandos do PowerShell para o DNS do Windows e como verificar os diagnósticos permite que seu MSP automatize processos e faça análise de causa raiz com o mínimo de interrupção, aumentando a resiliência contra ataques de DNS.
Este artigo mostra como ativar diagnósticos direcionados, criar uma linha de base, registrar evidências e reverter alterações no servidor com comandos específicos do PowerShell e recursos de RMM.
Como usar o PowerShell para resolver problemas de DNS
Os passos abaixo formam uma estrutura clara para responder à pergunta “Como solucionar um problema de DNS?”
📌Pré-requisitos:
- PowerShell com privilégios administrativos em um sistema com o módulo DNS Server (remoto ou no próprio host DNS).
- Acesso à função de Servidor DNS e aos canais de eventos relevantes.
- Alterar a política do Windows ou de diagnósticos seguros de ativar.
- Repositório versionado para as exportações JSON/CSV da linha de base.
Veja o método de triagem de endpoints apresentado primeiro em Como diagnosticar um servidor DNS do Windows com o PowerShell.
Método 1: comece pela triagem do caminho do endpoint
Antes de partir para os diagnósticos de DNS no servidor, descarte configurações incorretas no cliente que possam afetar a disponibilidade e a confiabilidade do servidor. Faça o seguinte antes de prosseguir:
- Confirme se o adaptador de rede do cliente consegue se conectar ao gateway e aos servidores DNS.
- Verifique se os tipos de registro do domínio correspondem aos respectivos endereços IP (por exemplo, um registro AAAA aponta um nome de domínio para um IPv6).
- Analise o cache de DNS em busca de sinais úteis para a solução de problemas (por exemplo, caminhos de consulta incorretos, comportamento de time-to-live muito curto).
Método 2: capture uma linha de base dos diagnósticos de DNS
Registre como estão as configurações do servidor DNS antes de aplicar qualquer alteração. Isso garante rastreabilidade e reversões limpas caso precise voltar a um estado que funcionava.
📌 Casos de uso: comparar com incidentes futuros e restaurar configurações de DNS consistentes.
📌 Pré-requisitos: PowerShell 5.1, privilégios de administrador.
- Pressione Win + R, digite PowerShell e pressione Ctrl + Shift + Enter.
- Execute este comando para confirmar que tem o módulo do servidor DNS:
Get-Module -ListAvailable -Name DnsServer
-
- Se não estiver instalado, execute o seguinte:
Install-WindowsFeature -Name RSAT-DNS-Server
- Para exportar as configurações de DNS e de “como verificar” os diagnósticos, use o seguinte:
-
- Como arquivo CSV:
Get-DnsServerDiagnostics | Export-Csv -Path "C:\DNS_Baseline\DnsDiagnostics.csv" -NoTypeInformation
“`
-
- Como arquivo JSON:
Get-DnsServerDiagnostics | ConvertTo-Json | Out-File "C:\DNS_Baseline\DnsDiagnostics.json"
💡Dica: guarde esses arquivos em uma pasta dedicada à Revisão Trimestral de Negócios (por exemplo, pasta de QBR/ticket de incidente).
- Verifique o rastreamento de eventos do DNS e salve o resultado em um arquivo de texto:
Get-WinEvent -ListLog *DNS* | Format-Table LogName, LogType, IsEnabled | Out-File "C:\DNS_Baseline\ETW_Status.txt"
“
- Salve tudo na pasta de gerenciamento de mudanças para facilitar o acesso.
Método 3: ative diagnósticos direcionados (o mínimo necessário)
Ative apenas os diagnósticos relevantes para evitar excesso de logs e reduzir o impacto nos ambientes de produção. Essa abordagem focada ajuda a identificar a causa raiz das falhas de DNS sem sobrecarregar o servidor.
📌 Casos de uso: depurar servidores DNS com eficiência usando comandos de diagnóstico poderosos.
📌 Pré-requisitos: PowerShell 5.1, privilégios de administrador e o módulo do servidor DNS
- Pressione Win + R, digite PowerShell e pressione Ctrl + Shift + Enter.
- Descubra qual camada do DNS está causando problemas:
💡Dica: use logs, mensagens de erro ou nslookup/Resolve-DnsName para restringir a busca.
| Camada | Sintomas | Foco do diagnóstico |
| Resolução de consultas | Clientes não conseguem resolver nomes | Query, Receive, Send |
| Transferências de zona | DNS secundário não sincroniza | ZoneTransfer, Update |
| Atualizações dinâmicas | Clientes DHCP não se registram | Update, Write |
| Problemas de encaminhamento | Consultas externas falhando | Forwarding, Query |
- Para ver os sinalizadores de diagnóstico ativos no momento, execute:
- Para ativar os sinalizadores de que precisa (por exemplo, diagnósticos de Query e Send), execute:
Set-DnsServerDiagnostics -Query $true -Send $true
- Para uma visão mais detalhada, ative o log de depuração temporariamente enquanto aplica o DNS e verifica:
Set-DnsServerDebugLog -WriteDebugLog $true -MaxMBFileSize <MaxMBFile> -MaxMBPerDirectory <MaxMBDirectory>
“
Substitua <MaxMBFile> pelo tamanho máximo de cada arquivo de log (por exemplo, 10).
Substitua <MaxMBDirectory> pelo tamanho total de todos os arquivos de log (por exemplo, 50).
- Para documentar as alterações, execute estes comandos:
-
- Para salvar as alterações:
Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Baseline\Diagnostics_After.csv" -NoTypeInformation
-
- Para registrar o status do log de depuração:
Get-DnsServerDebugLog | Out-File "C:\DNS_Baseline\DebugLog_Status.txt"
Método 4: correlacione eventos, zonas e operações
Relacione os dados de diagnóstico a zonas ou processos específicos do DNS para rastrear e corrigir problemas pontuais. Isso ajuda a explicar erros de indexação em serviços web internos ou falhas de acesso de usuários na infraestrutura de rede do cliente.
Essa etapa exige que os técnicos monitorem manualmente os logs de eventos do DNS, reproduzam os problemas e validem as configurações de recursão com vários scripts. NinjaOne simplifica esse processo em uma única plataforma, com scripts prontos para análise no nível da zona e alertas acionados por condições relacionadas ao DNS.
🥷🏻| Use scripts comprovados e eficientes para resolver mais rápido e obter melhor ROI.
Conheça a biblioteca de scripts personalizados do NinjaOne aqui.
Método 5: exporte as evidências e volte à linha de base
Depois de reunir as evidências, salve suas descobertas para garantir reversões limpas e correções mais rápidas caso o problema volte a acontecer.
📌 Casos de uso: criar um manual replicável e melhorar os tempos de resposta a problemas de DNS.
📌 Pré-requisitos: PowerShell 5.1, privilégios de administrador e o módulo do servidor DNS
- Pressione Win + R, digite PowerShell e pressione Ctrl + Shift + Enter.
- Exporte os logs:
-
- Logs de eventos do DNS para a pasta de QBR/ticket de incidente:
Get-WinEvent -LogName "Microsoft-Windows-DNS-Server/Audit" -MaxEvents 500 | Export-Csv "C:\DNS_Incident\Evidence_DNS_Events.csv" -NoTypeInformation
-
- Status do log de depuração do DNS:
Get-DnsServerDebugLog | Out-File "C:\DNS_Incident\DebugLog_Status.txt"
-
- Configurações de diagnóstico atuais:
Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Incident\Diagnostics_After.csv" -NoTypeInformation
-
- Informações da zona:
Get-DnsServerZone | Export-Csv "C:\DNS_Incident\ZoneInfo.csv" -NoTypeInformation
- Para desativar qualquer log de diagnóstico temporário, execute:
Set-DnsServerDebugLog -WriteDebugLog $false
- Para redefinir manualmente os diagnósticos para a linha de base, execute este comando:
Set-DnsServerDiagnostics -Query $false -Send $false -Receive $false -ZoneTransfer $false -Update $false
- Execute este script para capturar o estado atual antes de voltar à linha de base:
Get-DnsServerDiagnostics | Export-Csv "C:\DNS_Incident\Diagnostics_Final.csv" -NoTypeInformation
- Documente a causa raiz e a correção em um resumo de texto:
"
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"
Método 6: coloque os diagnósticos de DNS em operação (verificações e alertas agendados)
Por fim, configure alertas contínuos para problemas de DNS, como picos de NXDOMAIN ou tempos limite de recursão, para reduzir o MTTR (tempo médio de resolução). Dá para agendar esses scripts com ferramentas nativas, como o Agendador de Tarefas, ou usar soluções mais simples, como NinjaOne.
Além de manter os domínios saudáveis e responsivos, verificações semanais proativas também melhoram a visibilidade nas redes dos clientes e preparam dados dignos de QBR, dando ao seu MSP mais tempo para se dedicar a outros projetos.
Como NinjaOne ajuda a solucionar problemas de DNS
A plataforma da NinjaOne oferece uma visão ampla de todos os endpoints, incluindo servidores DNS virtuais, a partir de um painel centralizado. Veja como os recursos de monitoramento remoto deixam seus diagnósticos de DNS mais eficientes.
| Etapa | Sem NinjaOne | Com NinjaOne |
| Começar pela triagem do caminho do endpoint. | Verificações manuais na configuração do adaptador, no gateway e nos servidores DNS | O agente NinjaOne automatiza as verificações de desempenho e integridade dos endpoints. |
| Capturar uma linha de base dos diagnósticos de DNS. | Scripts executados manualmente e resultados guardados em pastas compartilhadas. | Os scripts e o armazenamento do NinjaOne simplificam as exportações agendadas. |
| Ativar diagnósticos direcionados (o mínimo necessário). | Os sinalizadores precisam ser ativados e conferidos pelos técnicos; risco de excesso de logs. | Implante scripts de diagnóstico com escopo definido e controles de retenção. |
| Correlacionar eventos, zonas e operações. | Cruzamento manual de logs e configurações em vários consoles. | As análises do NinjaOne ajudam a reunir logs e correlacionar eventos de DNS. |
| Exportar evidências e voltar à linha de base. | Exportação de logs e reversão feitas na mão; risco de erro humano. | Scripts comprovados do NinjaOne automatizam a captura de evidências e as reversões. |
| Colocar em operação (verificações e alertas agendados). | Exige scripts personalizados e várias ferramentas externas de monitoramento. | Alertas nativos, diagnósticos agendados e monitoramento contínuo de integridade. |
Automatize o PowerShell para resolver problemas no servidor DNS
Com scripts do PowerShell, a equipe de TI consegue aplicar e registrar rapidamente a solução de problemas no servidor DNS. Unindo esses scripts a um manual estruturado e a um MDM de primeira linha, os MSPs constroem confiança com os parceiros de negócios, oferecem supervisão 24 horas e refinam os diagnósticos de DNS.
Temas relacionados:
- Como descobrir os servidores DNS usados no Windows 11
- O que é um resolvedor de DNS e como configurá-lo
- O que é o erro “Servidor DNS não está respondendo” e como corrigi-lo
- Como criar scripts de correção RMM personalizados para resolver automaticamente problemas de DNS, patches e BitLocker
- Domine o gerenciamento do cache de DNS: limpe o DNS com o PowerShell