netsh

netshは、ネットワークに関わる情報の設定や変更するための多機能なコマンド。
IPアドレスやサブネットマスク、デフォルトゲートウェイといった情報を複数のネットワーク設定ごとにまとめて保存したり、それらを切り替えて使用すると便利です。

C:¥> netsh

netstatコマンドでは、「グローバルコマンド」と呼ばれる特殊なコマンドを実行することでモードを変更して、以下3つのモードごとに用意されたサブコマンドを利用できる。

オンラインモード

コマンドから発行されたコマンドを直ちに実行。

オフラインモード

コマンドから発行されたコマンドは蓄積され「COMMIT」グローバルコマンドの発行により一括で実行される。また「FLUSH」グローバルコマンドで蓄積したコマンドを破棄することができる。

スクリプトモード

コマンドラインから「-f」オプションを使うか、netshコマンドから「exec」グローバルコマンドを発行することで、指定したファイル内のすべてのnetshコマンドを実行。

example of use

C:¥> netsh interface ip show config

現在のネットワーク情報を表示。

C:¥> netsh interface ip set address "イーサネット" static 192.168.1.x 255.255.255.0 192.168.1.1

固定IPアドレスを指定。

C:¥> netsh interface ip set address "イーサネット" dhcp

DHCPで指定。

C:¥> netsh interface ip set dns "イーサネット" static 192.168.1.1
netsh interface ip add dns "イーサネット" static 192.168.1.2

DNSサーバーを指定。
2台目のDNSサーバーを指定。

C:¥> netsh interface ip set wins "イーサネット" static 192.168.1.11
C:¥> netsh interface ip add wins "イーサネット" static 192.168.1.12

winsサーバーを指定。2台目のwinsサーバーを指定。

C:¥> netsh -c interface dump > ファイル名

現在のネットワーク設定情報をファイルに書き出し保存。

C:¥> netsh -f ファイル名

書き出した設定ファイルからネットワーク設定を読み込み。

バッチファイルの作成

テキストエディタを開き、「ファイル名.bat」で保存。
設定ファイルを右クリック、管理者として実行を選択すると設定が反映。

netsh interface ip set address "イーサネット" static 192.168.1.x 255.255.255.0 192.168.1.1
netsh interface ip set dns "イーサネット" static 192.168.1.1 primary
netsh interface ip add dns "イーサネット" static 8.8.8.8
ipconfig /all
pause

固定IPアドレスのバッチファイル。

netsh interface ip set address "イーサネット" dhcp
netsh interface ip set dns "イーサネット" dhcp
ipconfig /all
pause

DHCPのバッチファイル。