ネットワークコマンドで管理が変わる!
第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/wins、add address/dns/wins、delete address/dns/winsといったIP関係の設定コマンドを紹介したが、関連したコマンドとして、show address、show dns、show winsというコマンドがある。これらは現在のIPアドレス設定、DNS設定、WINS設定を確認するためのコマンドだ。設定・追加・削除などはできない。
show addressコマンドは、interface ipおよびinterface ipv6コンテキスト (Windows XP SP1以降/Windows Server 2003のみ) で、show dnsコマンドは、interface ip、interface ipv6、diagコンテキスト (Windows XP/Windows Server 2003のみ) で、show winsコマンドは、interface ip、diagコンテキストで利用できる。またshow configコマンドは、interface ipコンテキストの他に、ras ip、ras ipx、ras netbeui、ras appletalk、aaaa、ipsec dynamic、firewallの各コンテキストでも利用できる。コンテキストによりコマンドの機能や書式が異なるが、ここでは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 address、show dns、show winsのコマンドを1つにしたようなものといってよい。そしてこれはまたdumpコマンドで表示される内容とほぼ同じものだ。どのコマンドを使っても同じようなものなので、好みで、あるいは、状況に応じて使い分ければよいだろう。
いずれのコマンドも、パラメータとしてインターフェイス名を指定すると、そのインターフェイスについても情報が、インターフェイス名を省略すると、インストールされているすべてのインターフェイスに関する情報が表示される。
画面1● show addressコマンドの結果
画面2● show dnsコマンドおよびshow winsコマンドの結果
画面3● show configコマンドの結果
-----------------------------------------------
TCP/IPを初期状態に戻すnetshサブコマンド
reset
---------------------------------------------------------------------------
>IP設定をすべて一括してリセット
IP設定が間違っているために正常にネットワークが動作しなかったり、動作が不安定になった場合、あるいはレジストリ値の異常によりネットワークが正常に動作しなくなったり、設定の変更ができなくなったときなど、Windows 9xやWindows 2000であればTCP/IPプロトコルをアンインストールして、再インストールすることで、TCP/IP設定を初期状態に戻すことができるが、Windows XP/Server 2003はTCP/IPプロトコルが必須であるためアンインストールができない。そこで出番になるのがresetコマンドだ。Windows XP/Windows Server 2003でのみ利用できる。
resetコマンドは、関連したレジストリを削除して、IP設定をWindowsがインストールされたときの初期状態に戻すコマンドであり、これはGUIではできない機能だ。
resetコマンドはinterface ipコンテキスト、interface ipv6コンテキスト、interface ipv6 6to4コンテキストの他に、interface portproxy、routing、routing ip、firewall、winsock、rpcの各コンテキストで実行できるが、ここではinterface ip、interface ipv6、interface 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 ipv6、interface ipv6 6to4
[入力例]
reset