当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 Windows 上使用 PowerShell Test-NetConnection Cmdlet

作者:精品下载站 日期:2024-12-14 12:42:00 浏览:16 分类:玩电脑

在 Windows 上使用 PowerShell Test-NetConnection Cmdlet


在 PowerShell Test-NetConnection cmdlet 出现之前,我们有许多不同的命令行工具可供选择来解决各种网络连接问题。

我们使用 ping 来测试 ICMP 回显和回复; tracert 查看我们的数据包可能在哪里被丢弃; nslookup 对我们的 DNS 服务器执行 DNS 查询; telnet 检查开放的 TCP 端口以及各种其他实用程序。一切都有其用途。

随着 Windows 8.1 和 Windows Server 2012 R2 上引入 PowerShell v4,这种针对单个任务的单一实用程序解决连接问题的方法已过时。

请允许我向您介绍全新的、功能强大的 Test-NetConnection cmdlet。将 PowerShell Test-NetConnection 视为 ping、tracert、nslookup、telnet 和其他一些实用程序,这些实用程序包含在一套故障排除功能中。

使用 Test-NetConnection 进行故障排除

让我们看看我们可以使用 Powershell test-netconnection cmdlet 做什么,并看看当我们不幸遇到网络连接问题时如何使用它。

为了演示这一点,我将使用 PowerShell Test-NetConnection 来解决一个常见的现实问题:“我无法访问 XYZ 网站!”

大多数用户不知道的是,考虑到必须协同工作才能实现这一目标的移动部件的数量,在浏览器中成功呈现网站本身就是一项惊人的壮举。该过程至少需要:

  • 有互联网连接。
  • 有到您的 DNS 服务器的路由。
  • 联系 DNS 服务器来解析 URL。
  • 拥有到 URL 解析到的 IP 地址的路由。
  • 打开 TCP 端口 80。
  • 等等,等等。

确认您的互联网连接

要开始故障排除,您首先需要确认您有互联网连接。您只需运行不带任何参数的 PowerShell Test-NetConnection 即可完成此操作。但是,如果您想获取更多信息,我建议将 InformationLevel 参数与 Detailed 参数结合使用。

Test-NetConnection -InformationLevel Detailed

这个简单的命令会检查您的本地连接和互联网连接,并确认您的 DNS 客户端可以一次性解析指向您的 DNS 服务器的名称。将其视为对网络连接的一般健康检查。该命令一次性检查渲染网站所需的五个进程中的三个!

使用 Test-NetConnection 测试您与网站主机的连接

我们现在需要将故障排除指向有问题的网站主机。让我们以 google.com 为例。您也可以使用远程计算机。

我们可以使用 Test-NetConnectionComputerName 参数来同时确保网站主机可以在 DNS 中解析,并且有一个 TCP 路由可用于获取 IP 地址该名称解析为,并且可以对其执行 ping 操作。

Test-NetConnection -ComputerName google.com

尽管此步骤在技术上验证了我们是否有到 google.com Web 服务器的路由,但我想找到有关我的数据包流经哪些路由器以到达 google.com Web 服务器的更多详细信息。为此,我将使用 TraceRoute 参数来获取列表。

Test-NetConnection -ComputerName google.com -TraceRoute

确保您的 TCP 端口已打开

我们的最终测试是确保我们期望 Web 服务器运行的 TCP 端口是开放的。在本例中,由于我们只是指定 google.com,因此我将假设它是 TCP 端口 80。为此,我们只需向 Test-NetConnection 添加另一个参数即可。由于 Test-NetConnection 了解一些不同服务的标准 TCP 端口,因此我们甚至不需要知道端口号。我只需将 HTTP 传递给 CommonTCPPort 参数,它就会为我完成工作。

Test-NetConnection -ComputerName google.com -CommonTCPPort HTTP

但是,如果网站可能运行在不同的端口(例如 8080)下,您可以使用 Port 参数直接指定 TCP 端口。

Test-NetConnection -ComputerName google.com -Port 80

我们现在已经测试了本文开头概述的每项连接要求。如果此时仍然无法渲染网站,我们已经确认问题不是出在我们的客户端,我们可以将问题传递给Google或者下游的DNS服务器。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯