Как установить/изменить DNS с помощью командной строки в окне 8

Как настроить параметры DNS с помощью командной строки или файла bat в окнах 8

Я пробовал это:

netsh interface ip set dns name="Local Area Connection" source=static addr=none

но не работает.

Ответ 1

Во-первых, имя сети, скорее всего, "Ethernet", а не "Подключение по локальной сети". Чтобы узнать это имя, вы можете:

netsh interface show interface

Будет отображаться имя в столбце "Имя интерфейса" (показано здесь жирным шрифтом):

Admin State    State          Type             Interface Name
-------------------------------------------------------------------------
Enabled        Connected      Dedicated        Ethernet

Теперь вы можете изменить первичные dns (index = 1), считая, что ваш интерфейс статичен (не использует dhcp):

netsh interface ipv4 add dnsserver "Ethernet" address=192.168.x.x index=1

Ответ 2

Чтобы изменить DNS на автоматическую с помощью команды, вы можете запустить следующую команду:

netsh interface ip set dns "Local Area Connection" dhcp

Ответ 3

В команде добавления и изменения DNS-IP мало различий:

Добавить:

Syntax:
   netsh interface ipv4 add dnsserver "Network Interface Name" dns.server.ip index=1(for primary)2(for secondary)
Eg:
   netsh interface ipv4 add dnsserver "Ethernet" 8.8.8.8 index=1
  • Здесь, чтобы узнать "Имя сетевого интерфейса", введите команду netsh interface show interface
  • 8.8.8.8 - рекурсивный DNS-сервер Google, используйте его, если ваш не работает

Установить/изменить: (как это задал OP)

Syntax:
   netsh interface ipv4 set dnsservers "Network Interface Name" static dns.server.ip primary
Eg:
   netsh interface ipv4 set dnsservers "Wi-Fi" static 8.8.4.4 primary
   netsh interface ipv4 set dnsservers "Wi-Fi" dhcp
  • Последний параметр может быть none: отключить DNS, both: установить для первичного и вторичного DNS как первичные, так и первичные DNS. Здесь вы можете заметить, что мы не используем индексный параметр, как при добавлении DNS.

  • Вместо static вы можете ввести dhcp, чтобы сделать настройку DNS автоматической, но дальнейший параметр не потребуется.


Примечание: Протестировано в окнах 8,8,1 и 10.

Ответ 4

Я написал этот script для переключения DNS-серверов всех поддерживаемых в настоящее время интерфейсов на определенный адрес:

@echo off

:: Google DNS
set DNS1=8.8.8.8
set DNS2=8.8.4.4

for /f "tokens=1,2,3*" %%i in ('netsh int show interface') do (
    if %%i equ Enabled (
        echo Changing "%%l" : %DNS1% + %DNS2%
        netsh int ipv4 set dns name="%%l" static %DNS1% primary validate=no
        netsh int ipv4 add dns name="%%l" %DNS2% index=2 validate=no
    )
)

ipconfig /flushdns

:EOF

Ответ 5

Вот еще один способ изменить DNS с помощью WMIC (командная строка инструментария управления Windows).

Команды должны запускаться с правами администратора.

Очистить DNS-серверы:

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ()

Установить 1 DNS-сервер:

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("8.8.8.8")

Установите 2 DNS-сервера:

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("8.8.8.8", "8.8.4.4")

Установите 2 DNS-сервера на конкретном сетевом адаптере:

wmic nicconfig where "(IPEnabled=TRUE) and (Description = 'Local Area Connection')" call SetDNSServerSearchOrder ("8.8.8.8", "8.8.4.4")

Другой пример настройки списка поиска домена:

wmic nicconfig call SetDNSSuffixSearchOrder ("domain.tld")

Ответ 6

Ни один из ответов не работает для меня в Windows 10, поэтому здесь я использую:

@echo off

set DNS1=8.8.8.8
set DNS2=8.8.4.4
set INTERFACE=Ethernet

netsh int ipv4 set dns name="%INTERFACE%" static %DNS1% primary validate=no
netsh int ipv4 add dns name="%INTERFACE%" %DNS2% index=2

ipconfig /flushdns

pause

Это использует Google DNS. Вы можете получить имя интерфейса с помощью команды netsh int show interface

Ответ 7

Пакетный файл для установки нового dns-сервера

@echo off
rem usage: setdns <dnsserver> <interface>
rem default dsnserver is dhcp
rem default interface is Wi-Fi
set dnsserver="%1"
if %dnsserver%=="" set dnsserver="dhcp"
set interface="%2"
if %interface%=="" set interface="Wi-Fi"
echo Showing current DNS setting for interface a%interface%
netsh interface ipv4 show dnsserver %interface%
echo Changing dnsserver on interface %interface% to %dnsserver%
if %dnsserver% == "dhcp" netsh interface ipv4 set dnsserver %interface% %dnsserver%
if NOT %dnsserver% == "dhcp" netsh interface ipv4 add dnsserver %interface% address=%dnsserver% index=1
echo Showing new DNS setting for interface %interface%
netsh interface ipv4 show dnsserver %interface%

Ответ 8

Теперь вы можете изменить первичные dns (index = 1), считая, что ваш интерфейс статичен (не использует dhcp)

Вы можете установить свои DNS-серверы статически, даже если вы используете DHCP для получения вашего IP-адреса.

Пример в Windows 7 для добавления двух серверов DN, команда выглядит следующим образом:

netsh interface ipv4 add dns "Local Area Connection" address=192.168.x.x index=1 netsh interface ipv4 add dns "Local Area Connection" address=192.168.x.x index=2