目次
【PowerShellコマンド入門】test-connectionの使い方|Pingとの違いと通信確認方法
ネットワークが繋がらないとき、まず思い浮かぶのが「ping」ですが、
PowerShell環境ではより高機能な test-connection コマンドを使うことができます。
この記事では、
test-connection の基本的な使い方から、ping との違い、実際のトラブルシュート例までをわかりやすく解説します。
🔍 test-connectionとは?
test-connection は、PowerShell版のPingコマンドです。
通信の疎通確認だけでなく、
応答時間・成功率・経路情報なども取得できます。
💡 PowerShell環境では「ping」の代わりに「test-connection」を使うのが推奨です。
🧭 基本構文
Test-Connection <宛先>
例:
|
1 2 |
Test-Connection www.google.com |
結果(例):
|
1 2 3 4 5 |
Source Destination IPV4Address IPV6Address Bytes Time(ms) ------ ----------- ----------- ----------- ----- -------- PC01 www.google.com 142.250.196.132 32 15 PC01 www.google.com 142.250.196.132 32 16 |
- Source : 送信元ホスト名
- Destination : 通信先ホスト名
- Time(ms) : 応答時間(ミリ秒)
⚙️ 回数を指定して送信(-Count)
デフォルトでは4回パケットを送信しますが、
-Countで回数を指定できます。
|
1 2 |
Test-Connection www.google.com -Count 2 |
🧩 結果を簡潔に出す(-Quiet)
成功・失敗だけを判定したい場合は、
-Quietオプションを使用します。
|
1 2 |
Test-Connection www.google.com -Quiet |
結果例:
|
1 2 |
True |
→ True = 通信成功
→ False = 通信不可
🔸 スクリプトで疎通確認を行いたいときに便利です。
📊 結果を変数に格納する
PowerShellの強みは、出力をオブジェクトとして扱えることです。
|
1 2 3 |
$result = Test-Connection www.google.com -Count 4 $result | Select-Object Address, ResponseTime |
→ これで応答時間だけを抽出することも可能。
🚪 特定ポートの疎通を確認する(-Port)
PowerShell 7以降では、
-Portオプションを使って
特定のTCPポートへの疎通確認が可能です。
これは、
アプリケーション層の通信確認にも役立ちます。
|
1 2 |
Test-Connection 192.168.1.100 -Port 1433 -InformationLevel Detailed |
出力例:
|
1 2 3 4 5 |
TcpTestSucceeded : True ComputerName : 192.168.1.100 RemotePort : 1433 RoundtripTime : 12 |
| 項目 | 説明 |
|---|---|
| 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トラブルを調べる方法




