[登録されているタグ]

[記事公開日]2025/12/21

PowerShellで通信確認を行う|Test-Connectionの使い方

📝 はじめに

PowerShellでネットワーク関連のトラブルを調べていると、
「このPCから相手に通信できているのか確認したい」
「サーバーやルーターが生きているかを手早く知りたい」
と思う場面は多いのではないでしょうか。

そんなときに役立つのが
Test-Connection です。
この記事では、PowerShellで通信確認を行うための
Test-Connectionの基本的な使い方を、順を追って解説します。

こんな場面で便利

  • インターネットや社内ネットワークにつながらないとき
  • 特定のサーバーが応答しているか確認したいとき
  • トラブル切り分けで「通信できる/できない」を判断したいとき

✅ このコマンドでできること(要点)

  • 指定したホストへの通信可否を確認できる
  • 応答時間(遅延)を測定できる
  • 複数回の通信結果をまとめて取得できる
  • スクリプトから自動チェックに組み込める

✅ Test-Connection でできること

Test-Connection は、
指定したホスト(IPアドレスやホスト名)に対して
ICMP通信を行い、応答があるかを確認するコマンドです。

cmdの ping に近い役割ですが、
PowerShellでは結果をオブジェクトとして扱えるため、
スクリプトとの相性が非常に良いのが特徴です。

🧩 基本構文

Test-Connection -ComputerName ホスト名

-ComputerName には、
IPアドレスやドメイン名を指定できます。

▶ 基本的な使い方(まずこれだけ)

🔹 Googleへの通信を確認する

Test-Connection -ComputerName google.com

応答結果が複数行表示されていれば、
通信は正常に行えています。
この結果が表示されていれば問題ありません。

🔹 IPアドレスを指定する

Test-Connection -ComputerName 8.8.8.8

DNSの影響を除外して、
純粋な通信確認をしたい場合に有効です。

🛠 よく使われる指定例

🔹 回数を指定する

Test-Connection -ComputerName google.com -Count 2

-Count を使うことで、
通信回数を制御できます。
少ない回数で素早く確認したい場合に便利です。

🔹 結果を True / False で取得する

Test-Connection -ComputerName google.com -Quiet

-Quiet を指定すると、
成功時は True
失敗時は False が返ります。
エラーが出なければ正常に判定できています。

💼 実務でよく使う使用例(応用)

🔹 通信できない場合だけメッセージを出す

if (-not (Test-Connection -ComputerName google.com -Quiet)) {
    "通信できません"
}

🔹 複数サーバーをまとめて確認する

$servers = "server1","server2","server3"
Test-Connection -ComputerName $servers
組み合わせ例

🧩 よくある勘違い・つまずきポイント

  • 通信できない=必ずしもサーバー停止とは限らない
  • ファイアウォールでICMPが遮断されている場合がある
  • 名前解決できないと失敗することがある
  • VPNやプロキシ環境では結果が変わる場合がある
  • 応答が遅いだけでも失敗と判断されることがある

🔄 cmdとの違いについて

cmdの ping と似ていますが、
Test-Connectionは結果をオブジェクトとして扱える点が大きな違いです。
そのため、条件分岐やログ出力などに組み込みやすくなっています。

⚠ エラー・うまく動かないときの確認ポイント

  • 対象ホストがICMP応答を許可しているか
  • ファイアウォールやセキュリティソフトの影響
  • DNS設定が正しいか
  • ネットワーク自体が接続されているか

🧠 注意点

Test-ConnectionはあくまでICMP通信の確認です。
Webやアプリが正常でも、ICMPが遮断されている環境では
失敗する場合があります。
通信確認の一手段として使うのがおすすめです。

📌 まとめ

  • Test-Connectionは通信確認の基本コマンド
  • pingに近いが、スクリプト向き
  • -Quietを使うと判定が簡単
  • 次はポート確認系のコマンドも試すと理解が深まる

🔎 PowerShellコマンドを探す

やりたいことからコマンドを探せます。

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • 通信できるか確認したい
  • サーバーの生存確認をしたい
Generic filters
すべてを開く | すべてを閉じる

ページ上部へ戻る