Windowsで設定の確認やシステムの情報を取得するというと、ウインドウに配置されたアイコンをマウスでクリックする操作を思い浮かべるだろう。しかしWindowsには「コマンド」というディープな世界がある。一見味気ない黒バックのウインドウに、黙々と文字を打ち込んで操作する――。コマンドを使うとGUI(Graphical User Interface)ではできない細かいところまで操作できる。しかも複数組み合わせて一気に作業させることも可能だ。これを使うためのソフトウエアがPowerShellやコマンドプロンプトである。なかでも便利なのがネットワーク管理だ。トラブルが発生したときの原因を探るコマンドを紹介しよう。

 PowerShellとコマンドプロンプトはそれぞれコマンド体系が異なる。PowerShellのコマンドは「コマンドレット」と呼ばれる。コマンドレットは多数あって覚えにくいが、「動詞+対象の名前」なのである程度役割を推測できる。またPowerShellではコマンドプロンプトのコマンドを実行できる。そこでPowerShellのコマンドレットを中心に紹介する。コマンドプロンプトに対応するコマンドもある場合は併せて記載する。

 ネットワークコマンドを使う場合は、PowerShellを管理者権限で起動するとよい。Windowsのメニューから「Windows PowerShell」を開き、「Windows PowerShell」の項目を右クリックして、「管理者として実行する」という項目を選択する。またはWindowsメニューを右クリックして表示されるメニューに「Windows PowerShell(管理者)」の項目があるので、これを選択する。ちなみにWindowsのメニューから「Windows PowerShell」を選択すると、「Windows PowerShell ISE」も使える。入力するコマンドレットやオプションの候補を表示して選択できる「IntelliSense」が働くため、長いコマンドレットを利用する際に便利だ。

疎通確認なら「Test-Connection」と「ping」

 PCがつながっているネットワークを調べるコマンド群から紹介しよう。まず覚えておきたいコマンドレットは「Test-Connection」だ。引数としてホスト名またはIPアドレスを指定すると、相手とIPで通信できるかどうか確認できる。コマンドプロンプトでは「ping」コマンドがこれに相当する。ICMP(Internet Control Message Protocol)パケットを利用する。

Test-Connectionとpingの実行結果
Test-Connectionとpingの実行結果
[画像のクリックで拡大表示]

 Test-Connectionを実行すると、4回の実行結果が表示される。Sourceには実行したPC名が表示され、Destinationには目的のホスト名が表示される。右側にはICMPのパケットサイズをBytesの欄に、応答が返ってくるまでの時間はTimesの欄にミリ秒で表示する。pingコマンドを実行するとほぼ同様の結果が得られる。pingではパケットが何回ネットワークをまたぐのかをカウントするのに使うTTL(Time To Live)なども表示される。

 LANケーブルを敷設するといった作業の際で疎通を確認し続けたい場合もある。4回よりも多く確認したい場合は、

Test-Connection -Count 10 example.com
のようにパラメーターで実行回数を指定する。「-Count 10」ならば10回実行する。一方、pingは「ping -t example.com」のように「-t」のオプションを指定すれば、ICMPパケットを連続して送信できる。

 PowerShellではパイプやスクリプトで処理を記述しやすい。この特徴を利用して自動処理や繰り返し処理を実行できる。例えば、

100..180 | %{Test-Connection "192.168.0.$_" -Count 1 -ErrorAction SilentlyContinue}
というコマンドレットを実行すれば、192.168.0.100~180までにICMPパケットを送信し、応答があるIPだけを出力できる。

192.168.0.100~180に含まれる機器と疎通確認をする
192.168.0.100~180に含まれる機器と疎通確認をする
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。