複数のネットワークをバッチで簡単に切り替える(ipv4/ipv6兼用)
はじめての記事なので、書き方が変でも許してください。
今回はDNSを切り替える際にいちいちコントロールパネルまで行かずともデスクトップから一発で変えられる、そんなバッチファイルをつくっていこうと思います。
と言ってもすでにやってる方がいましたので、それをIPv6に対応させてパブリックDNSの切り替えを主として書き換えていこうと思います。
先人のコードと変わっているところは、各切り替え先のDNSアドレス、IPv6要素の追加、文字コードの変更などです。
ちなみに、IPアドレスは自動取得のみ。設定したい場合は該当する行のDHCPというところを適当なアドレスに書き換えます。
DNSサーバーアドレスは自動・Google・Cloudflareの3種類用意してあります。
IPアドレス/DNSサーバーはいくらでも追加できます。
とりあえず、コマンドプロンプトはShift-JISなのでUTF-8に切り替えてあげないと文字化けします。
chcp 65001
これで切り替えられます。
これを踏まえて、以下が実行ファイルです。
@echo off
chcp 65001
echo 1:"自動"
echo 2:"Google Public DNS"
echo 3:"Cloudflare"
echo.
choice /C:123 /M:"どのネットワークに接続しますか"
echo.
set NAME=イーサネット
if %ERRORLEVEL% equ 1 (
netsh interface ipv4 set address "%NAME%" dhcp
netsh interface ipv4 set dns "%NAME%" dhcp
netsh interface ipv6 set dns "%NAME%" dhcp
echo 自動設定に切り替えました!
) else if %ERRORLEVEL% equ 2 (
netsh interface ipv4 set address "%NAME%" dhcp
netsh interface ipv4 set dns "%NAME%" static 8.8.8.8 primary
netsh interface ipv4 add dns "%NAME%" 8.8.4.4
netsh interface ipv6 set dns "%NAME%" static 2001:4860:4860::8888 primary
netsh interface ipv6 add dns "%NAME%" 2001:4860:4860::8844
echo Google Public DNSに切り替えました!
) else if %ERRORLEVEL% equ 3 (
netsh interface ipv4 set address "%NAME%" dhcp
netsh interface ipv4 set dns "%NAME%" static 1.1.1.1 primary
netsh interface ipv4 add dns "%NAME%" 1.0.0.1
netsh interface ipv6 set dns "%NAME%" static 2606:4700:4700::1111 primary
netsh interface ipv6 add dns "%NAME%" 2606:4700:4700::1001
echo Cloudflareに切り替えました!
)
pause
このままでは、管理者権限が付与されていないので、
同じディレクトリにもう一つ起動用のバッチファイルをつくり、
powershell start-process DNS.bat -verb runas
としてあげます。
こちらを起動することで、管理者として起動をいちいち選ばなくてよくなります。
似たファイルが2つあってややこしいという方は、DNS.batの方のショートカットを作成して、そちらの起動権限を管理者にしてあげましょう。
ということで、以上DNSを切り替えるだけのバッチファイルでした!
Author And Source
この問題について(複数のネットワークをバッチで簡単に切り替える(ipv4/ipv6兼用)), 我々は、より多くの情報をここで見つけました https://qiita.com/seed006/items/f9a8fb805738bf05adae著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .