回答:
プライマリDNS値:
netsh interface ipv4 set dns "Local Area Connection" static 192.168.0.2
二次価値:
netsh interface ipv4 add dns "Local Area Connection" 192.168.0.3 index=2
接続の名前が正しい場合、これはうまく機能します。名前が「ローカルエリア接続」でない場合、機能しません。XPを実行している場合は、「ipv4」を「ip」に変更する必要があります。IPv6も使用できます。
サブネットマスク、IPアドレス、およびゲートウェイを設定します。
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
ネットワーク接続を見つけるには、cmd行からipconfigを使用できます。ただし、ipconfigの短縮結果については、次を使用することもできます。
ipconfig | find /I "Ethernet adapter"
上記のipconfigコマンドを使用して、接続(ソースコード)をループし、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
DHCPサーバーが提供するDNSアドレスを使用するには:
netsh interface ipv4 set dns "Local Area Connection" dhcp
Windows 8または2012でPowershellスクリプトを使用して、次のような値を設定できます。
Set-DnsClientServerAddress -InterfaceAlias Wi-Fi -ServerAddresses "1.1.1.1","2.2.2.2"
ここで、wi-Fiは関心のあるインターフェイスの名前です。インターフェイスをリストするには、次を実行します。
Get-NetAdapter
DNSアドレスをリセットするには、DHCPを使用します。
Set-DnsClientServerAddress -InterfaceAlias wi-fi -ResetServerAddresses
ここで使用するコマンドレットは、Windows 7などの以前のバージョンでは使用できないことに注意してください。
ここにあなたの新しい友人がいます:NirSoftのQuickSetDNSは、いつものように驚くべきものです。
また、コマンドラインで使用することもできます:) netshに対するこれらの利点:
ほんのいくつかの注意事項:
WinXP(sp3ヘブライ語)のLogmanのバージョンに修正を追加すると、最後に2文字を削除する必要があるように思われるため、その他の奇妙なケースには「グローバル」な修正を追加しました。
:: 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 WinXP Remove some weird trailing chars (don't know what they are)
FOR /l %%a IN (1,1,255) DO IF NOT "!adapterName:~-1!"==":" SET adapterName=!adapterName:~0,-1!
REM Removes the colon from the end of the adapter name
SET adapterName=!adapterName:~0,-1!
echo !adapterName!
GOTO:EOF
netsh interface ip set dns name="!adapterName!" static x.x.x.x primary
netsh interface ip add dns name="!adapterName!" x.x.x.x index=2
)
この回答はXP1からコピーされています。XP1がこの回答を投稿したい場合は、投稿してください。回答を削除します。
WMIC(Windows Management Instrumentationコマンドライン)を使用して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")