【PowerShellコマンド入門】test-connectionの使い方|Pingとの違いと通信確認方法

目次

【PowerShellコマンド入門】test-connectionの使い方|Pingとの違いと通信確認方法

ネットワークが繋がらないとき、まず思い浮かぶのが「ping」ですが、
PowerShell環境ではより高機能な test-connection コマンドを使うことができます。

この記事では、 test-connection の基本的な使い方から、ping との違い、実際のトラブルシュート例までをわかりやすく解説します。


スポンサーリンク




🔍 test-connectionとは?

test-connection は、PowerShell版のPingコマンドです。
通信の疎通確認だけでなく、 応答時間・成功率・経路情報なども取得できます。

💡 PowerShell環境では「ping」の代わりに「test-connection」を使うのが推奨です。

🧭 基本構文

Test-Connection <宛先>

例:

結果(例):

  • Source : 送信元ホスト名
  • Destination : 通信先ホスト名
  • Time(ms) : 応答時間(ミリ秒)

⚙️ 回数を指定して送信(-Count)

デフォルトでは4回パケットを送信しますが、 -Countで回数を指定できます。


🧩 結果を簡潔に出す(-Quiet)

成功・失敗だけを判定したい場合は、 -Quietオプションを使用します。

結果例:

→ True = 通信成功
→ False = 通信不可

🔸 スクリプトで疎通確認を行いたいときに便利です。

📊 結果を変数に格納する

PowerShellの強みは、出力をオブジェクトとして扱えることです。

→ これで応答時間だけを抽出することも可能。


🚪 特定ポートの疎通を確認する(-Port)

PowerShell 7以降では、 -Portオプションを使って
特定のTCPポートへの疎通確認が可能です。
これは、 アプリケーション層の通信確認にも役立ちます。

出力例:

項目 説明
TcpTestSucceeded 接続成功(True)または失敗(False)
RemotePort 指定したポート番号
RoundtripTime 応答時間(ms)
💡 例:
・ “Webサーバ(HTTP/HTTPS) : -Port 80 または -Port 443
・ “SQL Server : -Port 1433
・ “MySQL : -Port 3306
・ “SSH : -Port 22

このオプションを使えば、 ICMPが遮断された環境でもTCPポートレベルで疎通確認ができます。
つまり、 ミドルウェア(DB・Web・APIサーバなど)の死活確認にも活用可能です。


🧠 pingとの違いまとめ

比較項目 ping test-connection
実行環境 CMD PowerShell
出力形式 テキスト オブジェクト
オプション指定 少ない 豊富(例:-Port, -Count, -Quiet)
出力の加工 手動 パイプで自在に加工可能
成功判定の自動化 不可 -Quietで容易
TCPポート確認 不可 -Portで可能(PowerShell 7以降)

🧩 トラブルシュートの例

状況 コマンド 判定
サーバに疎通できない Test-Connection server01 -Count 4 失敗でネットワーク断線の可能性
Webアプリが応答しない Test-Connection 192.168.1.10 -Port 443 ポート閉塞またはアプリ停止の可能性
外部サイトに繋がらない Test-Connection www.google.com 成功なら内部DNSまたはプロキシ問題
成功/失敗を判定して処理分岐 if (Test-Connection 8.8.8.8 -Quiet) { "OK" } else { "NG" } 自動チェック可能

🔗 関連記事

🧾 まとめ

test-connectionは、PowerShell環境での通信確認の定番コマンドです。
シンプルな疎通確認から、スクリプトによる自動監視まで幅広く使えます。
特に -Portオプションを活用すれば、特定ミドルウェアやアプリケーションのTCPレベルの疎通確認が可能になります。


次の記事nslookup|DNSトラブルを調べる方法


スポンサーリンク