2013年1月29日火曜日

バッチファイルでIPアドレス、デートウェイなどを一発で切替

リモート接続や複数のネットワークグループを管理していたりすると、IPアドレスを一々切替えるのは面倒。
netsh interfaceコマンドを利用すれば、バッチファイルでIPアドレス、ゲートウェイ、DNSなどを一発で切替えることが可能だ。
netsh interfaceコマンドは、ネットワークインターフェースの設定を行うコマンド。


下記はバッチファイルにパラメータを与えて、IPアドレス(固定アドレス)を設定する例だ。


netsh interface ip reset ipreset.log
netsh interface ip set address "ローカル エリア接続" static 192.168.1.%1 255.0.0.0 192.168.1.1 1
ping localhost -n 5 > nul
netsh interface ip set dns "ローカル エリア接続" static 192.168.1.1
ping localhost -n 5 > nul
ipconfig /all

たとえば、上記ファイルを "netcg.bat" で保存した場合、コマンドプロンプトより

C:\> netcg 5


と入力すると、IPアドレスは 192.168.1.5 、ゲートウェイ 192.168.1.1 、DNS 192.168.1.1 、マスク 255.0.0.0 と設定される。



簡単に解説だけしておこう、

1行目の "netsh interface ip reset ipreset.log" は、現在の情報をリセットする。ipreset.log は、その時のログ情報を記録する。


2行目は、IPアドレスの設定。 "%1" のパラメータで取得した値をアドレスにセットする。staticは固定IPアドレスを意味し、続くオプションはそれぞれ [IP] [MASK] [GATEWAY] [メトリック値] となっている。

また、DHCP接続としたい場合は、'netsh interface ip set address "ローカル エリア接続" dhcp' と記述する。


3行目、5行目の "ping localhost -n 5 > nul" 自分宛のping によって、ウエイトをしている。これは、設定したネットワークの構築までに時間を要するため、遅延処理を入れている。


4行目は、DNSサーバの設定。

最後の5行目でネットワーク設定の確認を行う。


0 件のコメント: