Windowsで、netshによるIPアドレスの設定

WindowsではイーサネットIPアドレスの設定方法が、以前から全然改善されていません。
職場が、有線LANしかない場合、切り替えが結構面倒です。


Let's noteには、ネットセレクターという、優秀なソフトがついていて、簡単に切り替えられるようになっていたのですが、
今年購入した、Let's note CF-SX2 にはネットセレクター3というバージョンが搭載されていて、
なぜか、以前のものより切り替えに時間がかかったり、うまく切り替えられないトラブルが頻発します。


さらに、ワイヤレスの面倒までみてくれようとして、そこはWindowsデフォルト機能に任せればいいのに、って感じで
いまいち使えません。
Windows固有の機能を使おうとすると、いったん、ネットセレクター3を止めないといけなかったりして。。。。最悪。


そこで、バッチファイルで、自分で実行することにしました。


DHCP → 固定IP (後の2行は、DNSの設定。validate=noがないと、ネットワーク上に存在しないとエラーだします。)
netsh interface ip set address name="イーサネット" source=static address=xxx.xxx.xxx.xxx mask=yyy.yyy.yyy.yyy gateway=zzz.zzz.zzz.zzz gwmetric=1

netsh interface ip set dns name="イーサネット" validate=no static aaa.aaa.aaa.aaa
netsh interface ip add dns name="イーサネット" validate=no bbb.bbb.bbb.bbb



・固定IP → DHCP (後の1行は、DNSの設定)
netsh interface ip set address name="イーサネット" dhcp
netsh interface ip set dns name="イーサネット" dhcp



以上をそれぞれバッチファイルに入れて、実行するだけです。


注意点としては、
「管理者権限」での実行が必要なこと。 右クリックで管理者として実行します。


また、上記例はWindows8の例です。
Windows7以前(8未満)では、上の、"イーサネット"が、"ローカル エリア接続" のはずです。
しかも、"ローカル"と"エリア接続"の間は、半角スペース。


最後に、
・「すでにオブジェクトが存在します」というエラーへの対処法
設定中に間違って、他のネットワークインターフェイスに、同じアドレスを割り当ててしまっていた場合、
同一のアドレスを割り当てようとすると、エラーがでます。
対処法としては、
netsh interface ipv4 show config
として、割り当て状況を確認してみます。
どこかに、同じアドレスを割り当ててしまったネットワークインターフェイスが存在するはずです。




WindowsイーサネットIPアドレスの変更が面倒なのは、
設計思想として、イーサネットのIPは、固定で使うものということなんでしょう。
個人で、1日に何回も変えないものという認識なのでしょう。
たしかに、職場が無線になれば一番いいのですが。。。