
In questo tutorial spiegherò come utilizzare PowerShell per eseguire la risoluzione dei nomi DNS utilizzando il comando Resolve-DnsName.
Questo strumento integrato in Windows semplifica l’interrogazione dei server DNS per ottenere informazioni su un dominio o un indirizzo IP. Che si tratti di verificare la configurazione DNS, diagnosticare un problema di risoluzione o semplicemente comprendere il funzionamento del servizio, questo comando è uno strumento indispensabile per gli amministratori di sistema e di rete.
Vedremo come utilizzarlo, interpretare i risultati e sfruttare le sue diverse opzioni.
Per iniziare, per eseguire una risoluzione “semplice”, immettere il seguente comando:
Resolve-DnsName rdr-it.com
Come si può vedere, per impostazione predefinita il cmdlet restituisce i record DNS A e AAAA del nome di dominio passato come parametro utilizzando i server DNS configurati sulla scheda di rete Windows.
Se si desidera utilizzare un server DNS specifico, è possibile passare il parametro -Server con l’indirizzo IP del server DNS da utilizzare.
Resolve-DnsName rdr-it.com -Server 1.1.1.1Questo parametro è particolarmente utile quando si gestisce la zona DNS di un dominio su un server interno ed esterno (su Internet) per verificare un record.
È anche possibile scegliere il tipo di record DNS desiderato utilizzando il parametro -type.
Resolve-DnsName rdr-it.com -Type MX

È anche possibile risolvere più nomi DNS con un singolo comando:
"rdr-it.com","git.rdr-it.com" | Resolve-DnsName -Type A -Server 1.1.1.1
Tabella delle opzioni comuni di Resolve-DnsName:
| Option | Description | Exemple |
|---|---|---|
-Type | Specifica il tipo di record DNS da interrogare (A, AAAA, MX, TXT, CNAME, NS, ecc.) | Resolve-DnsName microsoft.com -Type MX |
-Server | Definisce il server DNS da utilizzare per la query | Resolve-DnsName microsoft.com -Server 8.8.8.8 |
-DnsOnly | Limita la richiesta a una semplice risoluzione DNS, senza ricorrere a NetBIOS o LLMNR. | Resolve-DnsName microsoft.com -DnsOnly |
-Name | Consente di specificare il nome di dominio (impostazione predefinita, spesso implicita) | Resolve-DnsName -Name microsoft.com |
-NoHostsFile | Ignora il file hosts durante la risoluzione | Resolve-DnsName microsoft.com -NoHostsFile |
-QuickTimeout | Riduce i tempi di risposta (utile per una rapida risoluzione dei problemi) | Resolve-DnsName microsoft.com -QuickTimeout |
Documentazione ufficiale : https://learn.microsoft.com/en-us/powershell/module/dnsclient/resolve-dnsname?view=windowsserver2025-ps
In sintesi, il comando PowerShell Resolve-DnsName è uno strumento semplice ma potente per interrogare e diagnosticare la risoluzione DNS. Rappresenta un miglioramento significativo rispetto al precedente comando nslookup, offrendo risultati più completi e strutturati. Che si tratti di testare un dominio, identificare un problema di configurazione o semplicemente verificare la funzionalità dei server DNS, questo comando è indispensabile per l’uso quotidiano. E poiché si tratta di PowerShell, è molto facile automatizzare questi controlli in script personalizzati, risparmiando tempo e semplificando la gestione degli ambienti.
Infine, ecco uno script di esempio:
