Valor DNS primário:
netsh interface ipv4 set dns "Local Area Connection" static 192.168.0.2
Valor secundário:
netsh interface ipv4 add dns "Local Area Connection" 192.168.0.3 index=2
O que funciona muito bem se o nome da conexão estiver correto. Se o nome não for "Conexão local", ele não funcionará. Se você estiver executando o XP, precisará alterar "ipv4" para "ip". O IPv6 também pode ser usado.
Defina a máscara de sub-rede, o endereço IP e o gateway:
netsh interface ipv4 set address name="Local Area Connection" source=static addr=192.168.1.10 mask=255.255.255.0 gateway=192.168.0.1
Para encontrar a conexão de rede, você pode usar o ipconfig na linha cmd. Mas você também pode usar o seguinte para obter um resultado abreviado do ipconfig:
ipconfig | find /I "Ethernet adapter"
usando o ipconfig cmd acima, podemos fazer um loop pela conexão ( código fonte ) e definir os servidores dns:
:: Set primary and alternate DNS for IPv4 on Windows Server 2000/2003/2008 &
:: Windows XP/Vista/7
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET adapterName=
FOR /F "tokens=* delims=:" %%a IN ('IPCONFIG ^| FIND /I "ETHERNET ADAPTER"') DO (
SET adapterName=%%a
REM Removes "Ethernet adapter" from the front of the adapter name
SET adapterName=!adapterName:~17!
REM Removes the colon from the end of the adapter name
SET adapterName=!adapterName:~0,-1!
netsh interface ipv4 set dns name="!adapterName!" static 192.168.0.2 primary
netsh interface ipv4 add dns name="!adapterName!" 192.168.0.3 index=2
)
ipconfig /flushdns
:EOF