PR

 今回取り上げるnetsh(ネットシェル)コマンドは,ネットワークの設定情報を表示したり,設定を変更したりするためのコマンドである。

 例えばノート・パソコンを持ち歩いて自宅や会社などいろいろな場所で使うとき,そのネットワーク環境でDHCPサーバーが動いていれば,何の問題もなくネットワークにつながり,そのまま使うことができる。DHCPサーバーがIPアドレスを自動的に割り振ってくれるからだ。

 しかし会社のネットワーク環境などでは,固定のIPアドレスを割り当てる設定になっている場合がある。このときは,設定ウインドウを開いて,IPアドレスなどを入力し直さなければならない。自宅とオフィスを往復するたびに,この作業を何度も繰り返すのは,かなり面倒である。

 こうしたケースでnetshコマンドを使うと,会社と自宅で異なるネットワークの設定を簡単に切り替えられる(図1)。netshコマンドは,WindowsファイアウォールやDHCPサーバーの設定,ネットワークの診断などにも幅広く使えるネットワーク・コマンドである。今回はネットワークの設定と診断にフォーカスを当てて,その使い方を紹介する。

図1●ネットワークの設定を切り替える<br>netshコマンドを使うと,自宅と会社で異なるネットワークの設定を簡単に切り替えることができる。
図1●ネットワークの設定を切り替える
netshコマンドを使うと,自宅と会社で異なるネットワークの設定を簡単に切り替えることができる。
[画像のクリックで拡大表示]

環境ごとに設定情報を書き出す

 netshコマンドによるネットワーク設定の切り替えは,次のような流れになる。まず現在のネットワークの設定情報をテキスト・ファイルに保存しておき,次にこの設定ファイルを読み込むことでネットワークの設定を切り替えるというものだ。ネットワークの設定が異なる複数の環境で使う場合は,それぞれのネットワークの設定ファイルを用意しておき,それらを必要に応じて読み込めば簡単に切り替えることができる。

 ここからは実際にnetshコマンドを使ったネットワーク設定の切り替えの手順を追っていこう。以下では,DHCPでIPアドレスを自動で割り振る自宅のネットワーク設定と,固定IPアドレスを割り当てている会社のネットワーク設定を,netshコマンドで切り替えるケースで説明する。

 まずはネットワークの設定情報とはどのようなものかを見てみよう。そのためにnetshコマンドを使って,ネットワークの設定情報を表示させてみる。

 netshコマンドは設定できる対象が幅広いため,コンテキストと呼ぶサブコマンドを使って設定対象を指定する。ネットワークの設定では「interface」というサブコマンドを使う。さらに,IPネットワークを対象とする「ip」サブコマンドと,ネットワーク設定情報を出力するための「dump」サブコマンドを組み合わせて使う。

 それでは実際にnetshコマンドを実行してみよう。いつものようにWindowsマシンのコマンド・プロンプトを起動すれば準備は完了だ。ここで以下のように打ち込み,Enter(エンター)キーを押す。

 D:¥>netsh interface ip dump

 実行すると,今つながっているネットワークの設定情報が表示される(図2)。図2の左は自宅のネットワーク環境でnetshコマンドを実行した結果である。表示結果の「# "ローカル エリア接続" のインターフェイス IP 構成」の下に「set address name="ローカル エリア接続" source=dhcp」と表示されている。DHCPがIPアドレスを自動で割り振る設定になっていることがわかる。画面下にはDNSサーバーやWINS(ウインズ)サーバーも同様な設定になっていることが示されている。

図2●ネットワークの設定情報を表示する
図2●ネットワークの設定情報を表示する
[画像のクリックで拡大表示]

 一方で図2の右は,会社のネットワーク環境でnetshコマンドを実行した結果である。表示結果を見ると「…source=static addr…」となっており,パソコンには固定IPアドレスを割り当てていることがわかる。以下,デフォルト・ゲートウエイやDNSサーバー,WINSサーバーについても同様に,それぞれ固定のIPアドレスが割り当てられている。

テキストがそのままスクリプトに

 図2に示した実行結果は,いずれもネットワークの設定情報が書かれたもので,そのまま実行できるスクリプト形式になっている。そこでこの内容をテキスト・ファイルにすれば,それがそのままスクリプト・ファイルとなる。手作業で入力してもいいが,もっと作業を簡単にするためには,画面に表示された内容をファイルに保存しておくとよい。

遠藤 一義(えんどう かずよし)
トライポッドワークス 技術本部プロジェクトマネジャー
シンプルで使いやすいITソリューションを手がけるトライポッドワークスに勤務。以前は通信事業者や企業のネットワーク構築・運用・保守に携わっていた。現在はネットワーク・セキュリティ製品の計画や設計を担当している。