
Neste tutorial, irei explicar como utilizar o PowerShell para realizar a resolução de nomes DNS utilizando o comando Resolve-DnsName.
Esta ferramenta integrada do Windows facilita a consulta de servidores DNS para obter informações sobre um domínio ou endereço IP. Seja para verificar a configuração do DNS, diagnosticar um problema de resolução ou simplesmente perceber o funcionamento do serviço, este comando é uma ferramenta indispensável para os administradores de sistemas e de redes.
Veremos como utilizá-lo, interpretar os resultados e tirar partido das suas diferentes opções.
Para começar, para realizar uma resolução “simples”, digite o seguinte comando:
Resolve-DnsName rdr-it.com
Como se pode observar, por defeito, o cmdlet devolve os registos DNS A e AAAA do nome de domínio que foi passado como parâmetro, utilizando o(s) servidor(es) DNS configurado(s) no adaptador de rede do Windows.
Caso pretenda utilizar um servidor DNS específico, é possível passar o parâmetro -Server com o endereço IP do servidor DNS a utilizar.
Resolve-DnsName rdr-it.com -Server 1.1.1.1Este parâmetro é particularmente útil quando se gere a zona DNS de um domínio num servidor interno e externo (na Internet) para verificar um registo.
Também é possível escolher o tipo de registo DNS pretendido através do parâmetro -type.
Resolve-DnsName rdr-it.com -Type MX

Também pode resolver vários nomes DNS com um único comando:
"rdr-it.com","git.rdr-it.com" | Resolve-DnsName -Type A -Server 1.1.1.1
Tabela de opções comuns do Resolve-DnsName:
| Option | Description | Exemple |
|---|---|---|
-Type | Especifica o tipo de registo DNS a consultar (A, AAAA, MX, TXT, CNAME, NS, etc.) | Resolve-DnsName microsoft.com -Type MX |
-Server | Define o servidor DNS a utilizar para a consulta. | Resolve-DnsName microsoft.com -Server 8.8.8.8 |
-DnsOnly | Limita o pedido a uma resolução DNS simples, sem recorrer ao NetBIOS ou LLMNR. | Resolve-DnsName microsoft.com -DnsOnly |
-Name | Permite especificar o nome de domínio (configuração padrão, normalmente implícita). | Resolve-DnsName -Name microsoft.com |
-NoHostsFile | Ignora o ficheiro hosts durante a resolução. | Resolve-DnsName microsoft.com -NoHostsFile |
-QuickTimeout | Reduz o tempo de resposta (útil para a resolução rápida de problemas) | Resolve-DnsName microsoft.com -QuickTimeout |
Documentação oficial : https://learn.microsoft.com/en-us/powershell/module/dnsclient/resolve-dnsname?view=windowsserver2025-ps
Em síntese, o comando Resolve-DnsName do PowerShell é uma ferramenta simples, mas poderosa, para consultar e diagnosticar a resolução de DNS. Representa uma melhoria significativa em relação ao antigo comando nslookup, oferecendo resultados mais abrangentes e estruturados. Seja para testar um domínio, identificar um problema de configuração ou simplesmente verificar a funcionalidade dos seus servidores DNS, este comando é indispensável para uma utilização diária. E, como se trata de um comando PowerShell, é muito fácil automatizar estas verificações em scripts personalizados, poupando tempo e simplificando a gestão dos seus ambientes.
Por fim, aqui fica um exemplo de um script:
