I server DNS sono i vostri “controllori” del traffico Web, voi digitate l’indirizzo di un sito e loro vi ci portano, solo che, ogni tanto, hanno dei problemi, in particolar modo quelli che vengono forniti dal proprio provider, e qualche sito smette di essere raggiungibile o qualche servizio smette di funzionare come dovrebbe. Negli ultimi tempi, al lavoro, stiamo riscontrando parecchi problemi con un famoso provider nazionale che impedisce l’apertura della VPN dato che i loro DNS non risolvono l’indirizzo del server della VPN.

Per risolvere il problema basta mettere i DNS di Google perché tutto torni a funzionare, solo che per farlo più velocemente dovevo farlo da remoto, tramite il programma aziendale che utilizziamo per gestire i computer, così ho trovato alcuni comandi PowerShell che mi permettono questa modifica.

Procedura

Una volta avviato PowerShell, il primo comando da usare è Get-NetAdapter e dobbiamo individuare il valore numerico di ifIndex relativo alla scheda di rete che utilizziamo.

Come cambiare DNS scheda rete PowerShell

Il comando per cambiare i DNS è Set-DNSClientServerAddress –InterfaceIndex X –ServerAddresses IP_Server_DNS.

Dove X è il valore ifIndex appena rilevato, il comando, per impostare i DNS di Google diventa quindi Set-DNSClientServerAddress –InterfaceIndex 11 –ServerAddresses 8.8.8.8,8.8.4.4

Per terminare bisogna usare Clear-DnsClientCache per pulire la cache dei DNS e non portarci dietro dei dati che potrebbero causarci problemi.

Come cambiare DNS scheda rete PowerShell

Per finire usiamo Get-NetIPConfiguration per leggere l’attuale configurazione di rete e vedere se ha preso i DNS che abbiamo appena impostato.

Come cambiare DNS scheda rete PowerShell

I DNS sarebbero modificabili manualmente dalle proprietà della rete, solo che nel mio caso non potevo farlo così direttamente perché gli utenti locali dei computer non hanno permessi amministrativi. Con PowerShell riuscivo a dare i comandi da amministratore e quindi a fare i cambiamenti necessari.

Come cambiare DNS scheda rete PowerShell