後に「Windows 2000」と呼ばれることになる「Windows NT 5.0」の開発中,米Microsoftは短期間ではあるが米Cisco Systemsと協業し,Ciscoのアイデアのいくつかを新しいOSに組み込み,逆にNT 5.0の概念のいくつかをCisco製品に注入した(その証拠の1つがCiscoのVoIPソリューションであり,これはActive Directoryが必須である)。その後,両社の関係は冷え切ってしまったが,協業の成果は非常に有用なコマンド・ライン・ネットワーク・ツールである「Netsh」として今もWindowsに残されている。

 たとえあなたがコマンド・ライン恐怖症でも,Netshのことだけは魅力的に思うだろう。Netshコマンドを使うと,コマンド・ラインやバッチ・ファイルを使用して,IPスタック設定を構成したり,DHCPサーバーをゼロからセットアップしたり,Windowsファイアウオールをコントロールしたり,複雑で強力なIPsecルールを作成したりできる。

 本誌でもNetshを使ったサーバーの設定方法をいくつか紹介している(関連記事:「netsh firewallコマンドでWindowsファイアウオールで通信を許可するポートを追加する」,「Windowsファイアウオールが動いているコンピュータをMBSA 2.0で調査できない」。今回はこれまで紹介していないNetshコマンドの裏技を紹介したい。

IPアドレスを強制的に切り替える

 ノートPCのネット環境を変更したときに(例えば,職場から自宅へ,ある無線LANアクセス・ポイント(WAP)から別のWAPへ,無線LAN環境から有線イーサネット環境へ移動したときに),IPアドレスがなかなか変わらないという経験をしたことはないだろうか。何らかの理由によって,コンピュータはまるで感情を持っているかのように古いIPアドレスに執着する場合がある。古いIPアドレスのままでは新しいネットワーク環境に対応できないので,pingでさえも正常に通らない。このような場合には,次に挙げるNetshコマンドが非常に有効だ。

netsh int ip reset C:\iplog.txt

 このコマンドは,IPスタックをいったん無効化して素早く再構成するものであり,筆者はこれを「IPフェニックス(再生)コマンド」と呼んでいる。「C:\iplog.txt」は,Netshが処理内容を記録するテキスト・ファイルの名称である(Netshがログを書き出せるように,ファイル名を必ず指定する必要がある)。

ネットワーク診断を簡単に実行する

 次に,筆者がシステムのトラブルシューティングを行う際に,最初に実行するコマンドを紹介しよう。

netsh diag gui

 このように入力すると,図1のような画面が表示され,ここで[システムをスキャンする]というリンクをクリックすると,図2のような階層状に整然とレイアウトされた診断結果が表示され,システム上のすべてのネットワーク・アダプタに関する詳細を確認できるようになる(図3)。


図1●「netsh diag gui」コマンドで呼び出せるネットワーク診断ツール
[画像のクリックで拡大表示]

図2●ネットワークの診断結果画面
[画像のクリックで拡大表示]

図3●ネットワーク・アダプタの詳細設定をチェックできる
[画像のクリックで拡大表示]

 この診断ツールは,各ネットワーク・アダプタに関してpingを実行し,DHCPサーバーやWINSサーバー,デフォルト・ゲートウエイの設定や,Outlook Expressの設定といった情報を取得してくれる。

ネットワーク・スタックを復活させる

 スパイウエアの中には,Winsockカタログ(アプリケーションとインターネットの間に存在するインターフェース)に入り込むものがある。スパイウエアがWinsockカタログに入り込む理由はただ1つだけ,つまりアナタをスパイすることである。ウイルス対策ソフトの中には,このようなスパイウエアを検出して除去してくれるものがあるが,中にはスパイウエア除去プロセスの中で,WindowsのTCP/IPスタックを完全に無効にしてしまうものがある。これは,スパイウエアからユーザーを保護するのに効果的な手段だが「村を救うために村を破壊する」のと同じであるとも言える。

 幸いなことに,Netshを使ってこの問題を解決可能だ。

netsh winsock reset

 と単純に入力して,システムを再起動すれば良い。「Netsh IP Reset」コマンドの実行が必要になる場合もあるが,IPスタックはすぐに回復する。