misc.log

日常茶飯事とお仕事と

DNS設定をコマンドで「自動」に切り替える

4月からほぼ在宅勤務が続いているのですが、会社の何人かのPCだけ「会社に持っていって職場の無線LANに接続すると、DNSサーバーの設定が社内のゲートウェイに切り替わってしまい、自宅に戻ってモバイルルーターでネット接続できなくなる」という現象が起きています。おそらく、PCの初期設定時に固定DNSサーバーに設定してしまった状態で、ActiveDirectoryか何かに「初期値」として設定されてしまい、職場でADにログオンした時点で強制的に初期値に戻されている……とかそんなのだと思うのですが……。ネットワークの管理とかはやってないので何がどうなっているか判らないうえ、ADなどの知識もないので、とりあえず新人に「DNS設定を自動に切り替えるのを少し楽にする方法」を調べて伝えておきました(っても、読んで実践してくれているか、そういう方法もあるんだ、と興味をもってくれているかは微妙。Slackのメッセージにいいね、がついたのは5人中2人だけだったので……)。

ま、自分がおなじことをまたやるときのためにメモしておきます。

netshコマンドでDNS設定を変える

とりあえず、管理者として実行されているコマンドプロンプトで下記のコマンドを発行すればOKっぽいですね。

netsh interface ip set dns "ワイヤレスネットワーク" dhcp

"ワイヤレスネットワーク"のところは、「ネットワークとインターネット」で表示される、ネットに接続しているネットワークアダプターに付けられた名称を入れてください。たとえば下記のようなネットワークアダプター構成になっている場合は「"イーサネット 4"」に変えればOKです。

f:id:frontline:20200723183520p:plain
「ネットワーク接続」でアダプター構成名を表示させる

コマンドを管理者権限で動くバッチファイルにする

上記のコマンドは管理者として実行しているコマンドプロンプトから実行する必要があり、それはそれで面倒です。なので、バッチファイルにして、管理者として簡単実行できるようにしておきましょう。方法は下記の通り。実はバッチファイルにしたあと「ショートカット」を作ってそれを管理者権限で実行することになります。

  1. 上記のコマンドをテキストファイルに書いて、適当な名前を付け保存。ただし拡張子は「.bat」にしておく(例えば「dnssetting.bat」)。
  2. 上記のファイルを適当なフォルダやデスクトップなどに置く。
  3. 右クリックから「ショートカットの作成」を選択する。
  4. できた「ショートカット」を右クリックして「プロパティ」を選択。
  5. プロパティの「ショートカット」タブにある「詳細設定」を選択。
  6. 「管理者として実行」にチェックを入れる

以上です。PCのユーザー権限がガチガチに縛られていると、もしかしたら上手くいかないかもしれませんが、少なくとも自宅の管理者権限な環境(Windows10)では動かせました。何かの参考になれば幸いです。