Windowsのコマンドプロンプトを活用しよう

こんにちは。EITの新人Tです。

今回は、Windowsのコマンドを取り上げたいと思います。

昔からWindowsOSのパソコンばかり愛用していましたが、入社するまでコマンドプロンプトを使用したことがありませんでした。入社してから使い方を学んできたコマンドの中から、初心者の私が「絶対に使えるようになるべき」と感じたコマンドを紹介します。

今回紹介するコマンドは次の2つです。

・ping

・shutdown

ping

まずはpingコマンドです。

pingコマンドではICMPプロトコルを使用した通信を行います。pingコマンドを使用すると、宛先のIPアドレスへとECHO requestが送信されます。宛先のIPアドレスを持つ端末がECHO requestを受け取ると、送信元のIPアドレスへECHO replyを返します。この挙動により、端末の間で疎通ができているのか確認することができます。

サーバやPCは基本的にネットワークに接続されているため、疎通確認のためによく使用されるコマンドです。

では、実際にpingコマンドを実行してみましょう。

今回はWindows 10のPC(IPv4:192.168.0.12)から、同じセグメント内に存在しているWindows 8.1のPC(IPv4:192.168.0.11)へと疎通確認を行います。

ping <宛先IPアドレスまたはホスト名>

と入力します。

ping 192.168.0.11を実行した結果、「要求がタイムアウトしました」と表示されました。

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Windows\system32>ping 192.168.0.11

192.168.0.11 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。

通信に失敗してしまいました。

初めて業務についた時にも、接続確認のためにpingコマンドを使用したところ、上記のように「要求がタイムアウトしました」と表示されました。同じセグメント内にいて、PCにはDHCPからIPが割り当てられているのに、どうして通信できないのかと悩んだものです。

私はこの時に、「WindowsにはECHO requestに応答するための設定がある」ということを覚えました。

ECHO requestに応答するためには

要求がタイムアウトする場合は、宛先の端末がECHO requestに応答しないようになっているかもしれません。

次の設定を確認しましょう。

設定箇所:【コントロールパネル】- 【システムとセキュリティ】

– 【Windows ファイアウォール】- 【詳細設定】-【受信の規則】

– 【ファイルとプリンターの共有(エコー要求 – ICMPv4 受信)】

 

この【ファイルとプリンターの共有(エコー要求 – ICMPv4 受信)】が、ECHO requestを受け取るかどうかの設定です。

この設定が有効でなければ、PC間で疎通が通っていたとしても、pingコマンドの宛先のIPアドレスからECHO replyが届くことはありません。

Windows 8.1のPCでこの設定を確認してみます。

Windows 8.1でのエコー要求の設定場所を表示しています。

 

※画像はクリックすると拡大します。

【受信の規則】の名前の左側にチェックマークがあり、緑色が有効となっている規則を表します。【ファイルとプリンターの共有(エコー要求 – ICMPv4 受信)】にはパブリック/プライベート/ドメインと3種類の設定があり、その全てが無効になっていることがわかります。

今回はプライベートネットワーク内でpingコマンドを実行しているため、プライベートの【ファイルとプリンターの共有(エコー要求 – ICMPv4 受信)】を有効にします。

もう一度pingコマンドを実行してみましょう。

ping 192.168.0.11を実行した結果、192.168.0.11から応答が返ってきました。

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Windows\system32>ping 192.168.0.11

192.168.0.11 に ping を送信しています 32 バイトのデータ:
192.168.0.11 からの応答: バイト数 =32 時間 =118ms TTL=128
192.168.0.11 からの応答: バイト数 =32 時間 =124ms TTL=128
192.168.0.11 からの応答: バイト数 =32 時間 =29ms TTL=128
192.168.0.11 からの応答: バイト数 =32 時間 =35ms TTL=128

192.168.0.11 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 29ms、最大 = 124ms、平均 = 76ms

 無事に宛先のIPアドレスから、ECHO replyが届きました。

今回はこの設定で要求のタイムアウトを解決できました。通信には問題がなかったわけですね。

pingコマンドを実行するときは、必ずこの設定をした上で疎通できない原因を探していきましょう。

shutdown

次にshutdownコマンドです。

最近、Windows 7/8.1/10、Windows Server 2008 R2/2012 R2を使用する機会がありました。あまりにも多くのOSを一度に使用したために、「このOSは再起動ってどこでするんだったっけ…」という状態になってしまいました。

その時に「これは使える!」と感じたのがshutdownコマンドです。

さあ再起動しよう!というときに、コマンドプロンプトを起動して入力するだけです。

今回は、シャットダウンと再起動、およびログオフを紹介します。

シャットダウン:shutdown /s

再起動    :shutdown /r

ログオフ   :shutdown /l

複数のサーバやPCの設定を行うときは、これらを覚えておくと便利です。

最後に

今回はpingとshutdownの2つコマンドを紹介しました。Windowsにはたくさんのコマンドがあります。コマンドを使用すると、コマンドプロンプトを開くだけで様々な操作が行え、とても便利です。pingとshutdownの以外にも便利なコマンドはたくさんあります。是非自分が「使える!」と思うコマンドを探してみてはいかがでしょうか。