WindowsでNICの有効・無効をCUIで行う方法

WindowsNICの有効・無効を切り替える際,いちいちネットワーク接続を開いてアイコンを右クリックしてメニューを出して操作していた.Cygwinを使っているのでどうにかコマンドラインから有効・無効の設定をできないかと思って調べていたところ,MSがDevCon.exeというユーティリティを公開していて,それを使うことで実現できることが分かった.以下のページからDevCon.exeを入手できる.というか,最初からWindowsに付けておいてよと.

このユーティリティを使う時,引数にNICのデバイスインスタンスIDという文字列を指定しなければならないので,はじめに調べる必要がある.以下の手順ですぐに調べることができる.

  1. バイスマネージャを開く
  2. ネットワークアダプタから目当てのNICを右クリックしてプロパティを表示する
  3. 詳細タブを選択し,プルダウンメニューからデバイスインスタンスIDを選ぶ
  4. おそらく "PCI\〜" という文字列が表示されるのでC-cでコピーする

あとはDevCon.exeを起動して以下のコマンドで簡単にNICの有効・無効を指定できる.

$ devcon.exe enable "PCI\〜 " # NICを有効にする 
$ devcon.exe disable "PCI\〜" # NICを無効にする

最初はCygwinから使う予定だったが,nrLaunchに登録してマウスでぽちぽちやった方が楽だということに気づいたので使っていない.nrLaunchで使う場合はDevCon.exeをボタンに登録してボタンのプロパティを開いて実行時パラーメタにenable 〜やdisable 〜を書けばいい.

場所によって有線LANと無線LANを使い分ける人には結構いいんじゃないかと思う.