Windows 8でcommand-promptまたはbatファイルを使用してDNS設定を設定する方法
私はこれを試しました:
netsh interface ip set dns name="Local Area Connection" source=static addr=none
しかし働かなかった。
まず、ネットワーク名はおそらく "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
DNSを自動viaコマンドに変更するには、次のコマンドを実行します。
netsh interface ip set dns "Local Area Connection" dhcp
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
netsh interface show interface
と入力します。設定/変更するには(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でテスト済み。
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")
このスクリプトは、現在有効になっているすべてのインターフェイスの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
答えはどれも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
コマンドでインターフェース名を取得できます
新しい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%
これがあなたの新しい友達です: QuickSetDNS 、NirSoftによる、いつものように素晴らしい。
それはまたコマンドラインで使用することができます:) netsh上のこれらの利点と:
いくつか注意点があります。
これで、インターフェースが静的であると仮定して(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