私は頻繁にDNSサーバーのアドレスを変更する必要があります、そして今のところ私は「ネットワークと共有センター」 - 「ローカルエリア接続」 - プロパティ - ipv4 - を開いてそれからDNS番号を入力します。
もっと早くする方法はありますか?バッチファイルやpowershellスクリプトを使ってできますか? DNSを変更するための組み込みのコンソールコマンドはありますか?
プライマリ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 cmdを使用して、接続( ソースコード )をループし、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などの以前のバージョンでは使用できません。
これがあなたの新しい友達です: QuickSetDNS 、NirSoftによる、いつものように素晴らしい。
それはまたコマンドラインで使用することができます:) netsh上のこれらの利点と:
いくつか注意点があります。
LogmanのバージョンのWinXP(sp3ヘブライ語)への修正の追加は、最後に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 Command-line)を使用してDNSを変更するもう1つの方法があります。
コマンドを適用するには管理者として実行する必要があります。
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")