PowerShellでWindows Serverのネットワーク接続トラブルを診断・解決する方法
Windows Serverには、アプリケーションやクライアントPCが特定のポートやサーバーIPに接続できない場合に役立つ、管理者向けの豊富なツールが用意されています。DNS名前解決やその他のネットワーク問題の調査ツールが真っ先に思い浮かびますが、PowerShellを愛用している方には、Test-NetConnectionという非常に便利なコマンドレットがあります。

PowerShellでネットワーク接続の問題をトラブルシューティングする
Test-NetConnectionコマンドレットを使用すると、接続に関する診断情報を取得できます。Pingテスト、TCPテスト、ルートトレース、さらにルート選択診断にも対応しています。
指定したオプションによって、出力内容はComputerName、RemoteAddress、SelectedSourceAddress、OutgoingInterfaceIndex、SelectedNetRouteなど、さまざまな情報で構成されます。
サポートされている主なパラメーター
- CommonTCPPort: 一般的なサービスのTCPポート番号(HTTP、RDP、SMBなど)を指定します。
- ComputerName: 接続先コンピューターのDNS名またはIPアドレスを指定します。
- ConstrainInterface: ルート診断に使用するインターフェースの制約を指定します。
- ConstrainSourceAddress: ルート診断に使用する送信元アドレスの制約を指定します。
- DiagnoseRouting: リモートホストへのルートおよび送信元アドレス選択情報を出力するため、ルート診断を実行します。
- Hops: tracerouteコマンドで通過するホップ数を指定します。
- InformationLevel: 出力する情報レベル(Detailed または Quiet)を指定します。
- Port: リモートコンピューター上のTCPポート番号を指定します。
- TraceRoute: Tracertを実行してリモートホストへの接続性をテストします。
Test-NetConnectionコマンドレットの活用例
以下は、ルート診断を詳細モードで実行した際の出力例です。経路の選択状況やブロックされた理由まで確認できる点が大きな特徴です。
Test-NetConnection -ComputerName "www.contoso.com" -ConstrainInterface 5 -DiagnoseRouting -InformationLevel "Detailed" ComputerName : www.contoso.com RemoteAddress : 2600:1409:a:185::2768 ConstrainInterfaceIndex : 5 SelectedSourceAddress : 2001:4898:e0:79:75dd:64cf:d9ff:f86 OutgoingInterfaceIndex : 5 SelectedNetRoute : DestinationPrefix: ::/0 NextHop: fe80::200:5eff:fe00:202 RouteSelectionEvents : IP: Route [DestinationPrefix: ::/0 NextHop: fe80::200:5eff:fe00:202 InterfaceIndex: 4 RouteMetric: 256] is blocked for Destination: 2600:1409:a:185::2768 ConstrainInterfaceIndex: 5 ConstrainScopeZone: 1 in Compartment: 1, Reason: InterfaceConstraint. SourceAddressSelectionEvents : IP: Source address 2001:4898:e0:79:75dd:64cf:d9ff:f86 is preferred over fe80::75dd:64cf:d9ff:f86 for destination 2600:1409:a:185::2768 Rule = 2.0. RouteDiagnosticsSucceeded : True
覚えておきたいサンプルコマンド集

以下に、実際に試せるサンプルコマンドをいくつか紹介します。一部のコマンドは管理者権限が必要なため、必要な権限を持ってPowerShell 7またはPowerShell 5.1を起動しておきましょう。
基本的な接続テスト:
Test-NetConnection youtube.com
より詳細な接続情報を取得:
Test-NetConnection youtube.com -InformationLevel "Detailed"
Webサービスの特定TCPポートをテスト:
Test-NetConnection youtube.com -Port 443 -InformationLevel "Detailed"
リモートホストへのルート診断を実行:
Test-NetConnection -ComputerName itopstalk.com -DiagnoseRouting -InformationLevel Detailed
Webサイトの標準ポートを確認:
Test-NetConnection -ComputerName microsoft.com -CommonTCPPort HTTP
Webサイトへのトレースルートを実行:
Test-NetConnection -ComputerName google.com -TraceRoute
なお、Test-NetConnectionはWindows以外のプラットフォーム( LinuxやmacOS版のPowerShell )でも同じ構文で利用できるため、クロスプラットフォーム環境でも重宝します。
また、筆者の環境ではMicrosoft.comなど一部のサイトに対してこのコマンドが機能しないケースも確認しました。Pingが常に失敗する場合は、サーバー側でランダムなリクエストをブロックしている可能性があります。その点も踏まえて結果を判断するとよいでしょう。

-
Windows 10でネットワークの問題を解決する3つの簡単テクニック
最近、Windows PCでネットワーク接続の不具合に悩まされていませんか? 実は、ネットワークの問題は必ずしもインターネット回線そのものが原因とは限りません。インターネット接続自体は正常に動作しているのに、デバイス上でネットワーク関連のトラブルが発生することもあります。なぜこのようなことが起こるのでしょうか? Windowsでネットワーク関連の問題が発生する主な原因としては、以下が考えられます。 古い、または破損したネットワークドライバー レジストリエントリのエラー 競合するアプリケーション ハードウェアの故障 あわせて読みたい:Windows 10向け無料PCクリーナー ここでは、W
-
Windows 10で「接続が制限されています」エラーを解決する6つの方法
Windows 10の通知領域に「接続が制限されています」というエラーが表示され、困った経験はありませんか?このエラーは、スマートフォンのテザリング(モバイルホットスポット)を使ってPCをインターネットに接続した際によく発生します。しかし、LANネットワークに接続しようとしたときにも同じエラーが出ることがあります。ご安心ください。本記事では、この問題を解決するための具体的な方法をご紹介します。 Windows 10の接続制限問題を解決する6つの方法 解決策1:PCを再起動する パソコンで何らかのトラブルが発生し、どうすればよいかわからないとき、最も基本的な対処法は再起動です。一時的なシステムの