web-dev-qa-db-ja.com

Windows 8でコマンドプロンプトを使用してDNSを設定/変更するにはどうすればよいですか

Windows 8でcommand-promptまたはbatファイルを使用してDNS設定を設定する方法

私はこれを試しました:

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

しかし働かなかった。

73
Zuhair Taha

まず、ネットワーク名はおそらく "Ethernet"であり、 "Local Area Connection"ではありません。名前を見つけるためにあなたはこれを行うことができます:

netsh interface show interface

これにより、[Interface Name]列の下に名前が表示されます(ここでは太字で表示されています)。

管理状態状態タイプインターフェース名
 ---------------------------------- --------------------------------------- 
有効接続専用イーサネット

これで、インターフェースが静的である(dhcpを使用していない)と仮定して、プライマリdns(index = 1)を変更できます。

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

2018 Update -このコマンドはdnsserver(単数形)またはdnsservers(複数形)のどちらでも機能します。次の例では後者を使用しており、同様に有効です。

 netshインターフェースipv4 add dnsservers "Ethernet"アドレス= 192.168.x.x index = 1 
84
chue x

DNSを自動viaコマンドに変更するには、次のコマンドを実行します。

netsh interface ip set dns "Local Area Connection" dhcp
27
Marcos Cassiano

DNS-IPを追加するAND変更するコマンドにはほとんど違いがありません。

追加する:

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
  • ここで、「ネットワークインターフェース名」を知るには、commandnetsh interface show interfaceと入力します。
  • 8.8.8.8はGoogleの再帰的DNSサーバーです、あなたのものが機能しない場合はそれを使用してください

設定/変更するには(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の追加で行ったようにindex-parameterを使用していないことに気付くでしょう。

  • staticの代わりにdhcpと入力してDNS設定を自動にすることができますが、それ以上のパラメータは必要ありません。


注:ウィンドウ8、8.1、10でテスト済み。

19
Adarsh Rajput

WMIC(Windows Management Instrumentation Command-line)を使用してDNSを変更する別の方法があります。

コマンドを適用するには管理者として実行する必要があります。

DNSサーバーを消去します。

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

DNSサーバーを1つ設定します。

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")
18
XP1

このスクリプトは、現在有効になっているすべてのインターフェイスの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
15
Meow

答えはどれも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コマンドでインターフェース名を取得できます

9
MrVaykadji

新しい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%
3
BSalita

これがあなたの新しい友達です: QuickSetDNS 、NirSoftによる、いつものように素晴らしい。

screenshot

それはまたコマンドラインで使用することができます:) netsh上のこれらの利点と:

  • 特に代替サーバーを設定するための、より簡単な構文
  • 自動的に特権の昇格を要求する


いくつか注意点があります。

  • iPv6の設定ではなく、IPv4の設定のみをサポート
  • コマンドラインでは、フレンドリ名ではなく、アダプタのUUIDを使用する必要があります(例: "ローカルエリア接続") QuickSetDNS 1.21以降、接続名もサポートされています。
1
Gras Double

これで、インターフェースが静的であると仮定して(dhcpを使用していない)、基本dns(index = 1)を変更できます。

DHCPを使用してIPアドレスを取得している場合でも、DNSサーバーを静的に設定できます。

Windows 7で2つの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

0
Zathraszero