ネットワークコマンドで管理が変わる!

第8回 netshでTCP/IP設定を管理しよう (その3)


今月のコマンド

netsh show address/dns/wins/config

netsh reset


--------------------------------------------------------------------------

TCP/IPを設定を確認するnetshサブコマンド

show address/show dns/show wins/
show config

---------------------------------------------------------------------------

IP設定を確認するコマンド

前々回、前回とset address/dns/winsadd address/dns/winsdelete address/dns/winsといったIP関係の設定コマンドを紹介したが、関連したコマンドとして、show addressshow dnsshow winsというコマンドがある。これらは現在のIPアドレス設定、DNS設定、WINS設定を確認するためのコマンドだ。設定・追加・削除などはできない。

 show addressコマンドは、interface ipおよびinterface ipv6コンテキスト (Windows XP SP1以降/Windows Server 2003のみ) で、show dnsコマンドは、interface ipinterface ipv6diagコンテキスト (Windows XP/Windows Server 2003のみ) で、show winsコマンドは、interface ipdiagコンテキストで利用できる。またshow configコマンドは、interface ipコンテキストの他に、ras ipras ipxras netbeuiras appletalkaaaaipsec dynamicfirewallの各コンテキストでも利用できる。コンテキストによりコマンドの機能や書式が異なるが、ここではinterface ipコンテキストの場合だけを紹介しておく。firewallコンテキストでのshow configコマンドについては後で紹介する予定だ。

show addressコマンドを実行すると、画面1のように、DHCPの有効/無効、IPアドレス、サブネットマスク、デフォルトゲートウェイ、ゲートウェイメトリック、インターフェイスメトリックの現在の設定が表示される。ゲートウェイメトリック、インターフェイスメトリックの「0」は自動メトリックを意味している。

同様にshow dnsコマンドではDNSサーバーの設定が表示される。またshow winsコマンドでWINSサーバーの設定が表示される (画面2)

さらにshow configというコマンドもある。これはIPアドレス、DNSサーバー、WINSサーバーの設定がすべて表示されるものだ (画面3)。つまり、show configコマンドは、show addressshow dnsshow winsのコマンドを1つにしたようなものといってよい。そしてこれはまたdumpコマンドで表示される内容とほぼ同じものだ。どのコマンドを使っても同じようなものなので、好みで、あるいは、状況に応じて使い分ければよいだろう。

いずれのコマンドも、パラメータとしてインターフェイス名を指定すると、そのインターフェイスについても情報が、インターフェイス名を省略すると、インストールされているすべてのインターフェイスに関する情報が表示される。


画面1● show addressコマンドの結果


画面2● show dnsコマンドおよびshow winsコマンドの結果


画面3● show configコマンドの結果


-----------------------------------------------

TCP/IPを初期状態に戻すnetshサブコマンド

reset

---------------------------------------------------------------------------

IP設定をすべて一括してリセット

 IP設定が間違っているために正常にネットワークが動作しなかったり、動作が不安定になった場合、あるいはレジストリ値の異常によりネットワークが正常に動作しなくなったり、設定の変更ができなくなったときなど、Windows 9xWindows 2000であればTCP/IPプロトコルをアンインストールして、再インストールすることで、TCP/IP設定を初期状態に戻すことができるが、Windows XP/Server 2003TCP/IPプロトコルが必須であるためアンインストールができない。そこで出番になるのがresetコマンドだ。Windows XP/Windows Server 2003でのみ利用できる。

 resetコマンドは、関連したレジストリを削除して、IP設定をWindowsがインストールされたときの初期状態に戻すコマンドであり、これはGUIではできない機能だ。

resetコマンドはinterface ipコンテキスト、interface ipv6コンテキスト、interface ipv6 6to4コンテキストの他に、interface portproxyroutingrouting ipfirewallwinsockrpcの各コンテキストで実行できるが、ここではinterface ipinterface ipv6interface ipv6 6to4コンテキストの場合だけを取り上げる。firewallコンテキストの場合は後で説明することになるだろう。

 interface ipコンテキストでresetコマンドを実行するためには、「reset logfile」のように、リセット情報を記録するログファイルの指定が必須だ。これは省略できない。すでに同名のファイルが存在する場合は、その最後に新しいログが追加される。

実際に、画面3のIP設定状態にあるマシンで、resetコマンドを実行して、その結果をshow configコマンドで確認してみたものが画面4だ。この画面からは、WINSサーバーの設定が残っており、すべてのIP設定が初期状態になっていないことがわかる。

実はresetコマンドを完了するためには、マシンの再起動が必要だ。再起動を促すメッセージが表示されるわけではないので気がつきにくい。そこで、マシンを再起動して再度show configコマンドを実行したものが画面5になる。この画面からは、DNSサーバーのアドレスがDHCPから自動的に取得されており、WINSサーバーの設定がなくなっていることがわかる。


画面4● resetコマンドの結果をshow configコマンドで確認


画面5● 再起動後に再度show configコマンドで確認


作成されるログファイルの例を次に示す。この内容はリセット前のIP設定により異なるので、いつもこれと同じになるわけではない。

reset   SYSTEM\CurrentControlSet\Services\Dhcp\Parameters\Options\15\RegLocation

            old REG_MULTI_SZ =

                SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\?\DhcpDomain

                SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\DhcpDomain

added   SYSTEM\CurrentControlSet\Services\Netbt\Parameters\Interfaces\Tcpip_{46A26B91-5791-4831-B080-BFD666C8B363}\NetbiosOptions

reset   SYSTEM\CurrentControlSet\Services\Netbt\Parameters\Interfaces\Tcpip_{606666C9-622A-40FC-B967-FFFFA88A358A}\NameServerList

            old REG_MULTI_SZ =

                192.168.5.1

                192.168.6.1

reset   SYSTEM\CurrentControlSet\Services\Netbt\Parameters\Interfaces\Tcpip_{606666C9-622A-40FC-B967-FFFFA88A358A}\NetbiosOptions

            old REG_DWORD = 1

added   SYSTEM\CurrentControlSet\Services\Netbt\Parameters\Interfaces\Tcpip_{E691879C-E195-4710-BBC4-9A4134E23A2D}\NetbiosOptions

deleted SYSTEM\CurrentControlSet\Services\Netbt\Parameters\EnableLmhosts

reset   SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{606666C9-622A-40FC-B967-FFFFA88A358A}\DefaultGateway

            old REG_MULTI_SZ =

                192.168.5.1

                192.168.6.1

以下省略


 interface ipv6コンテキスト、interface ipv6 6to4コンテキストでresetコマンドを実行する場合は、パラメータを指定しない。動作はinterface ipコンテキストの場合と同様に、IPv6設定、IPv6-IPv4トンネリング設定をリセットするものだ。



netshサブコマンドリファレンス

netshサブコマンドは、実行できるコンテキストが異なる。そのため、ダイレクトコマンドモードの場合、-cオプションによって実行可能なコンテキストを指定する必要がある。シェルモードの場合は、実行できるコンテキストに移動してからコマンドを実行するか、コンテキスト名をコマンドといっしょに指定して実行する必要がある。


show address

特定のまたは複数のインターフェイスのIPアドレス構成を表示する。

[構文@ interface ipコンテキスト]

show address [[name=]String]

[パラメータ]

name

インターフェイス名を指定する。このパラメータが省略された場合は、すべてのインターフェイスのIPアドレス構成が表示される。

[実行できるコンテキスト] interface ip

[入力例]

show address "ローカル エリア接続"

-----------------------------------------------------------------------------------

[構文A interface ipv6コンテキスト] (Windows XP SP1以降/Windows Server 2003のみ)

show address [[interface=]String] [[level=]{normal | verbose}]
[[store=]{active | persistent}]

[パラメータ]

interface

インターフェイス名またはインデックスを指定する。このパラメータが省略された場合は、すべてのインターフェイスのIPv6アドレス構成が表示される。

level

次の値のいずれかを指定する。

normal  インターフェイスごとに1行表示する (インターフェイスが指定されなかったときのデフォルト)

verbose  各インターフェイスに追加情報を表示する (インターフェイスが指定されたときのデフォルト)

store

次の値のいずれかを指定する。このパラメータはWindows XP SP2、およびWindows Server 2003 SP1以降でのみ利用できる。

active  スタックのアドレスを表示する (デフォルト)

persistent  固定アドレスを表示する。

[実行できるコンテキスト] interface ipv6

[入力例]

show address "プライベート"


show dns

特定のまたは複数のインターフェイスのDNSサーバー構成を表示する。

[構文@ interface ipコンテキスト]

show dns [[name=]String]

[パラメータ]

name

インターフェイス名を指定する。

[実行できるコンテキスト] interface ip

[入力例]

show dns "ローカル エリア接続"

-----------------------------------------------------------------------------------

[構文A interface ipv6コンテキスト] (Windows XP SP1以降/Windows Server 2003のみ)

show dns [[interface=]String]

[パラメータ]

interface

インターフェイス名またはインデックスを指定する。

[実行できるコンテキスト] interface ipv6

[入力例]

show dns "ローカル エリア接続"

-----------------------------------------------------------------------------------

[構文B diagコンテキスト] (Windows XP/Windows Server 2003のみ)

show dns [{IndexNumber | FullAdapterName | PartialAdapterName}] {/P | /v}

指定したアダプタに対して定義されたすべてのDNSサーバーを一覧表示する。アダプタを指定しない場合はすべてのアダプタに対して定義されたDNSサーバーを一覧表示する。

[パラメータ]

IndexNumber

アダプタをインデックス番号で指定する。先頭に0を入力する必要はない。

FullAdapterName

アダプタをオペレーティングシステムに登録した名前で指定する。

PartialAdapterName

パラメータで指定された文字のシーケンスを名前に含んでいる1つまたは複数のアダプタを指定する。文字のシーケンスが名前の最初に現れる場合、パラメータの最後にアスタリスクを入力する。文字のシーケンスが名前の最後に現れる場合、パラメータの最初にアスタリスクを入力する。文字のシーケンスが名前のいずれかの場所に現れる場合、パラメータの最初と最後にアスタリスクを入力する。

: show adapter」コマンドを使って、コンピュータで定義されたすべてのアダプタのインデックス番号およびフルネームを表示できる。

/v

詳細モードを指定する。すべてのフィールドが表示される。

/p

プロパティモードを指定する。値のあるフィールドのみが表示される。

[実行できるコンテキスト] diag

[入力例]

@show dns /p  すべてのネットワークアダプタに対して定義されたDNSサーバーを一覧表示する。

Ashow dns 2  ネットワークアダプタ2に対して定義されたDNSサーバーを一覧表示する。


show wins

特定のまたは複数のインターフェイスのWINSサーバー構成を表示する。

[構文@ interface ipコンテキスト]

show wins [[name=]String]

[パラメータ]

name

インターフェイス名を指定する。

[実行できるコンテキスト] interface ip

[入力例]

show wins "ローカル エリア接続"

-----------------------------------------------------------------------------------

[構文A diagコンテキスト] (Windows XP/Windows Server 2003のみ)

show wins [{IndexNumber | FullAdapterName | PartialAdapterName}] {/P | /v}

指定した1つまたは複数のアダプタのWINSサーバーを一覧表示する。ダプタを指定しない場合はすべてのアダプタに対して定義されたWINSサーバーを一覧表示する。

[パラメータ]

IndexNumber

アダプタをインデックス番号で指定する。先頭に0を入力する必要はない。

FullAdapterName

アダプタをオペレーティングシステムに登録した名前で指定する。

PartialAdapterName

パラメータで指定された文字のシーケンスを名前に含んでいる1つまたは複数のアダプタを指定する。文字のシーケンスが名前の最初に現れる場合、パラメータの最後にアスタリスクを入力する。文字のシーケンスが名前の最後に現れる場合、パラメータの最初にアスタリスクを入力する。文字のシーケンスが名前のいずれかの場所に現れる場合、パラメータの最初と最後にアスタリスクを入力する。

: show adapter」コマンドを使って、コンピュータで定義されたすべてのアダプタのインデックス番号およびフルネームを表示できる。

/v

詳細モードを指定する。すべてのフィールドが表示される。

/p

プロパティモードを指定する。値のあるフィールドのみが表示される。

[実行できるコンテキスト] diag

[入力例]

@show wins  すべてのネットワークアダプタに対して定義されたWINSサーバーを一覧表示する。

Ashow wins 2  ネットワークアダプタ2に対して定義されたWINSサーバーを一覧表示する。


show config

特定のまたは複数のインターフェイスのIPアドレス、DNSサーバー、WINSサーバー構成を表示する。

[構文 interface ipコンテキスト]

show config [[name=]String]

[パラメータ]

name

インターフェイス名を指定する。

[実行できるコンテキスト] interface ip

[入力例]

show config "ローカル エリア接続"


reset

TCP/IP および関連するコンポーネントをリセットする。

[構文@ interface ipコンテキスト] (Windows XP/Windows Server 2003のみ)

reset [name=]String

[パラメータ]

name

リセット情報を記述するファイルの名前を指定する。

[実行できるコンテキスト] interface ip

[入力例]

reset c:\ip_reset.txt

-----------------------------------------------------------------------------------

[構文A interface ipv6/interface ipv6 6to4コンテキスト]
(Windows XP SP1以降/Windows Server 2003のみ)

reset

[パラメータ]

なし

[実行できるコンテキスト] interface ipv6interface ipv6 6to4

[入力例]

reset