Windows 8 でコマンド プロンプトまたはバッチ ファイルを使用して DNS 設定を設定するにはどうすればよいですか
私はこれを試しました:
netsh interface ip set dns name="Local Area Connection" source=static addr=none
しかし、うまくいきませんでした。
Windows 8 でコマンド プロンプトまたはバッチ ファイルを使用して DNS 設定を設定するにはどうすればよいですか
私はこれを試しました:
netsh interface ip set dns name="Local Area Connection" source=static addr=none
しかし、うまくいきませんでした。
まず、ネットワーク名は「ローカル エリア接続」ではなく「イーサネット」である可能性があります。名前を調べるには、次のようにします。
netsh interface show interface
「インターフェース名」列の下に名前が表示されます(ここでは太字で表示されています):
管理者の状態 状態の種類 インターフェイス名 -------------------------------------------------- ----------------------- 有効 接続済みの専用 イーサネット
これで、インターフェイスが静的である (dhcp を使用していない) と仮定して、プライマリ DNS (インデックス = 1) を変更できます。
netsh interface ipv4 add dnsserver "Ethernet" address=192.168.x.x index=1
2018 Update - コマンドはdnsserver
(単数形) またはdnsservers
(複数形) のいずれかで機能します。次の例では後者を使用しており、同様に有効です。
netsh インターフェイス ipv4 add dnsservers "イーサネット" アドレス = 192.168.xx インデックス = 1
コマンドを使用して DNS を自動に変更するには、次のコマンドを実行します。
netsh interface ip set dns "Local Area Connection" dhcp
WMIC (Windows Management Instrumentation Command-line) を使用して DNS を変更する別の方法を次に示します。
コマンドを適用するには、管理者として実行する必要があります。
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")
現在有効になっているすべてのインターフェイスの 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
インターフェイスが静的であると仮定して(dhcpを使用していない)、プライマリDNS(インデックス= 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