[登録されているタグ]

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

PowerShellでポート疎通を確認する|Test-NetConnectionの使い方

📝 はじめに

ネットワークトラブルを調べていると、
「サーバー自体は生きているけれど、特定のサービスだけ使えない」
「Webは見られないのに、通信自体はできているのか分からない」
と感じることはありませんか?

そんなときに役立つのが
Test-NetConnection です。
この記事では、ポート番号を指定して疎通確認を行う方法を中心に、
PowerShellでの実用的な使い方を解説します。

こんな場面で便利

  • Webサーバー(80 / 443)が応答しているか確認したい
  • RDP(3389)やSSH(22)につながるか調べたい
  • ファイアウォールやセキュリティ設定の切り分けをしたい

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

  • 指定したホストとポートの疎通を確認できる
  • TCP接続が可能かを判定できる
  • DNSやルーティングの情報も同時に確認できる
  • スクリプトで自動判定に組み込みやすい

✅ Test-NetConnection でできること

Test-NetConnection は、
単なる通信確認だけでなく、
「指定したポートに接続できるか」を調べられるコマンドです。

Test-Connection
「相手に届くか(ICMP)」を見るのに対し、
Test-NetConnection は
「そのサービスが使えるか(TCP)」を見るイメージです。

🧩 基本構文

Test-NetConnection -ComputerName ホスト名 -Port ポート番号

-ComputerName にはホスト名やIPアドレス、
-Port には確認したいポート番号を指定します。

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

🔹 Webサーバー(HTTPS)の疎通確認

Test-NetConnection -ComputerName google.com -Port 443

結果に TcpTestSucceeded : True と表示されていれば、
そのポートへの接続は成功しています。
この表示が出ていれば問題ありません。

🔹 IPアドレスを指定して確認する

Test-NetConnection -ComputerName 8.8.8.8 -Port 53

DNS名解決の影響を除外して、
純粋にポート疎通を確認したい場合に有効です。

🛠 よく使われる指定例

🔹 結果を True / False で判定する

Test-NetConnection -ComputerName google.com -Port 443 -InformationLevel Quiet

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

🔹 詳細なネットワーク情報を確認する

Test-NetConnection -ComputerName google.com -Port 443 -InformationLevel Detailed

ルーティングやインターフェース情報まで表示されるため、
トラブル切り分けに役立ちます。

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

🔹 接続できない場合だけ警告を出す

if (-not (Test-NetConnection -ComputerName server1 -Port 3389 -InformationLevel Quiet)) {
    "RDPに接続できません"
}

🔹 複数サーバーのポート疎通を確認する

$servers = "server1","server2","server3"
foreach ($s in $servers) {
    Test-NetConnection -ComputerName $s -Port 80 -InformationLevel Quiet
}
組み合わせ例

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

  • 通信できない原因が必ずサーバー側とは限らない
  • ファイアウォールでポートが遮断されている場合がある
  • サービスが停止していると疎通できない
  • VPNや社内ネットワーク経由で結果が変わることがある
  • UDP通信の確認には向いていない

🔄 cmdとの違いについて

cmdにはポート疎通を直接確認する標準コマンドがありません。
Test-NetConnectionは、
PowerShellならではの統合的なネットワーク診断ができる点が強みです。

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

  • 対象ポートがサーバー側で待ち受け状態になっているか
  • WindowsファイアウォールやUTMの影響
  • プロキシやVPNを経由していないか
  • 管理者権限が必要な環境ではないか

🧠 注意点

Test-NetConnectionはTCP通信の確認が主目的です。
アプリケーションが正常に動作しているかどうかは、
別途ログや実際の接続テストと併せて確認するのがおすすめです。

📌 まとめ

  • Test-NetConnectionはポート疎通確認に最適
  • サービス単位の通信確認ができる
  • -InformationLevel Quietで判定を簡略化できる
  • 次はファイアウォール設定やログ確認と組み合わせると理解が深まる

🔎 PowerShellコマンドを探す

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

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

ページ上部へ戻る