netshのメリットと限界


netshとは?

netsh(ネットシェル)は、Windowsに標準で備わっているコマンドプログラムです。画面はなく、コマンドプロンプトなどからコマンド文を打ち込んで使用します。Windowsのコントロールパネルやチャームの設定メニューの画面から設定するのと同様のことができます。
Windowsは、どちらの方法でもネットワーク設定が可能
同じ目的を満たす手段が2つあるのは、無用な混乱を招くだけなのでは?と思われる方もいるかもしれません。しかし、netshには独自の使い方があります。

netshのいいところ

設定画面は、利用者が設定を変更したい時に操作することを前提としています。一方、netshはあまりそういう使い方をしません。

Windowsに詳しい人は、コマンドプロンプトを立ち上げて、真っ黒なコンソールにコマンドをスラスラと入力できるかもしれませんが、普通の人はnetshコマンドのスペルを思い出すこともままならず、手が止まってしまうのがオチです。(かくいう私も、コマンドを暗記できた試しがありません)
netshは、設定を「入力する時」と実際に「適用する時」を分離できるのが強みです。netshに限らず、コマンドプロンプトから入力できるコマンド全般に言えることなのですが、コマンドというのは、別の見方をするとメールやツィッターの本文と同じタダの文字列です。
タダの文字列なので、ファイルに保存することができます。メールは、本文を書いたら直ちに送信しなければならないわけではありません。「下書き」という状態のまま手元に残しておいて、後日、送信することができます。
同様に、苦労して入力したnetshコマンドをファイルに保存しておき、その適用を、本当に必要になるその時まで先送りできるのです。
コマンドを記録したファイルのことを、「バッチファイル(拡張子は.bat)」と言います。
設定画面だと、こういう使い方はできません。画面をずっと開いたままにしておくことはできず、閉じようとすると「適用」または「キャンセル」のいずれかを選択させられます。
入力と適用の時間差
これは、ノートPCやタブレットを普段持ち歩く方にとって特に便利です。
日常的に利用する場所のネットワーク設定を予め別々のバッチファイルに保存しておいて、場所を移るたびに、対応するバッチファイルを起動して設定を即座に切り替えることができます。
このやり方を勧める記事を、ネットでよく見かけます。マイクロソフトも、きっとそういう使い方を想定してnetshを提供しているのだと思います。

netshの限界

しかし私は、この方法は一部の人しか救えないと考えています。それほどパソコンに詳しくない方にとって、バッチファイルというハードルは高すぎるのです。
たとえ自分一人しか使わないようなバッチファイルであっても、きちんと動くものを作ろうとすればそれなりの基礎知識と経験が必要になります。
それらを備えている方であればnetshという選択肢はありなのですが、そうでない方々にとっては解決策になりません。

その限界を乗り越える

そういう不満もあって、私は「NCSwitch」を作りました。このツールは、利用者がWindowsの設定画面に入力した内容を吸い上げて、ファイルに保存することができます。NCSwitchのウィザード画面を数回クリックして、バッチファイルを
自動生成するイメージです。
NCSwitchの仕組み
更に、接続先ネットワークが変わったことを自動的に検出して、自動的に設定を復元できます。バッチファイルのように、利用者が起動するバッチファイルを選択する必要もありません。
これらは全て、Windowsに詳しくない普通のユーザーに使っていただくことを念頭に設計された機能です。1.0のリリースから10年以上経ちますが、今も変わらず多くの利用者にご愛用いただいております。
ネットワーク設定の切り替えでお悩みの方は、ぜひお試しください。こちらからダウンロードできます。