2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

複数のネットワークをバッチで簡単に切り替える(ipv4/ipv6兼用)

Last updated at Posted at 2020-12-23

はじめての記事なので、書き方が変でも許してください。

今回はDNSを切り替える際にいちいちコントロールパネルまで行かずともデスクトップから一発で変えられる、そんなバッチファイルをつくっていこうと思います。

と言ってもすでにやってる方がいましたので、それをIPv6に対応させてパブリックDNSの切り替えを主として書き換えていこうと思います。

先人のコードと変わっているところは、各切り替え先のDNSアドレス、IPv6要素の追加、文字コードの変更などです。

ちなみに、IPアドレスは自動取得のみ。設定したい場合は該当する行のDHCPというところを適当なアドレスに書き換えます。
DNSサーバーアドレスは自動・Google・Cloudflareの3種類用意してあります。
IPアドレス/DNSサーバーはいくらでも追加できます。

とりあえず、コマンドプロンプトはShift-JISなのでUTF-8に切り替えてあげないと文字化けします。

chcp 65001

これで切り替えられます。

これを踏まえて、以下が実行ファイルです。

DNS.bat
@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

このままでは、管理者権限が付与されていないので、
同じディレクトリにもう一つ起動用のバッチファイルをつくり、

DNS-Change.bat
powershell start-process DNS.bat -verb runas

としてあげます。
こちらを起動することで、管理者として起動をいちいち選ばなくてよくなります。

似たファイルが2つあってややこしいという方は、DNS.batの方のショートカットを作成して、そちらの起動権限を管理者にしてあげましょう。

ということで、以上DNSを切り替えるだけのバッチファイルでした!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?