バッチファイルを使ってIPアドレスなどのネットワーク設定変更を簡単に実現する方法

特にノートPCなどでは、複数のネットワークに、設定を切り替えて接続するケースがあったりする。
職場は固定IPだけど、移動中には自動設定にしてテザリングで接続、とか。

Windows利用者なんだけど、手動で設定を変えるのは面倒なので、なんとか楽にならないか……ということで調べたのをメモ。

メモ、というか調べたのは少し前で、今日ひさびさに実際に使うケースがあった。
なんとなくでも中身を覚えているうちに、ということで記録として書いておく次第。

ちなみにWindows7で使っている。

結論として、netshコマンドを利用したバッチファイルを作成しておくことで対応した。

まずは、固定IPの設定を行うバッチファイル。
以下の想定。

  • IPアドレス:123.123.123.10
  • サブネットマスク:255.255.255.0
  • デフォルトゲートウェイ:123.123.123.1
  • DNSサーバ:123.123.123.1
  • WINSサーバ:123.123.123.1

—set_static.bat—
set NAME=”ローカル エリア接続”
netsh interface ip set address %NAME% static 123.123.123.10 255.255.255.0 123.123.123.1
netsh interface ip set dns %NAME% static 123.123.123.1
netsh interface ip set wins %NAME% static 123.123.123.1
——

続いて、自動割振りで設定するもの。

—set_dhcp.bat—
set NAME=”ローカル エリア接続”
netsh interface ip set address %NAME% dhcp
netsh interface ip set dns %NAME% dhcp
netsh interface ip set wins %NAME% dhcp
——

これらのバッチファイルを作成して、「管理者として実行」で実行してあげれば設定される。
(バッチファイルは、フォルダオプションで拡張子が表示されている状態にした上で、右クリックからテキストファイルを新規作成して、「XXX.txt」とかなっているのを、「XXX.bat」のようなファイル名に変更すれば作成できる。ファイルの中身は、右クリックから編集を選択して書き換える)

固定IPアドレスで「netsh interface ip set address」の部分については、IPアドレス → サブネットマスク → デフォルトゲートウェイ の順番で、半角スペースで区切って設定値を並べて記載する。
また、DNSやWINSを複数設定する必要がある場合、必要分の設定コマンドを順番に並べて、2つめ以降は「set」を「add」に変えてあげればOK。

「NAME=”ローカル エリア接続”」ってなっている部分は、コントロール パネル → ネットワークとインターネット → ネットワークと共有センター → アダプターの設定の変更 で確認できる接続設定の中から、現在使用しているものを選択する。
(複数あってわからなかった場合、順番にダブルクリックして開いた画面の動作状況から、送信/受信それぞれバイトの数字が大きくて、リアルタイムに増減しているものを選べば、基本的には問題ないはず)

 

ちなみに私の場合、管理者として実行するのをよく忘れる。
その対処として、バッチファイル本体は普段あまり使わないような適当なフォルダに配置して、デスクトップにショートカットを作成し、プロパティのショートカットタブの詳細設定から、「管理者として実行」にチェックを入れておき、作成したショートカットから実行するようにしている。

 

さらにちなみに、上記の例はIPv4の設定を対象としているが、「interface ip」のところを「interface ipv6」にしてやれば、似たような感じでIPv6側の設定を行うことができる。
詳細はコマンドプロンプトから、「netsh ?」とか、「netsh interface ipv6 ?」とかみたいに、詳細を知りたいコマンドの後に半角でスペースと”?”を入れてあげればヘルプの一覧が参照できる。

投稿者: オダ ヤスカズ

昭和最後の秋に生まれた、意外と感覚で生きてる理系男子。 それなりに多趣味。たぶん。 いわゆるSE。でも結構アナログ人間。 基本的にマイペース。

コメントを残す

メールアドレスが公開されることはありません。