Test-Connection 是 PowerShell 中用于测试与目标计算机(或设备)之间网络连接的一个非常实用的命令。它的功能非常丰富,可以用于 Ping 测试、路由追踪、丢包检测等。为了更好地帮助你理解 Test-Connection 的各项功能,下面是一个按功能分类的表格,列出了 Test-Connection 支持的主要参数及其作用。
Test-Connection (Microsoft.PowerShell.Management) - PowerShell | Microsoft Learn
Test-Connection 是 PowerShell 中用于测试与目标计算机(或设备)之间网络连接的一个非常实用的命令。它的功能非常丰富,可以用于 Ping 测试、路由追踪、丢包检测等。为了更好地帮助你理解 Test-Connection 的各项功能,下面是一个按功能分类的表格,列出了 Test-Connection 支持的主要参数及其作用。
Test-Connection 功能分类表格
| 功能类别 | 参数 | 描述 | 示例命令 |
|---|---|---|---|
| 基础 Ping 测试 | -ComputerName |
指定目标计算机名或 IP 地址。 | Test-Connection -ComputerName ipv6.baidu.com |
-Count |
指定发送多少次 Ping 请求(默认为 4)。 | Test-Connection -ComputerName ipv6.baidu.com -Count 10 |
|
-Delay |
指定每个 Ping 请求之间的延迟时间(单位:秒)。 | Test-Connection -ComputerName ipv6.baidu.com -Delay 1 |
|
-TimeoutSeconds |
设置每个请求的超时时间(单位:秒)。 | Test-Connection -ComputerName ipv6.baidu.com -TimeoutSeconds 5 |
|
-BufferSize |
指定每个 Ping 请求的数据大小(默认为 32 字节)。 | Test-Connection -ComputerName ipv6.baidu.com -BufferSize 64 |
|
| IPv6 测试 | -IPv6 |
强制使用 IPv6 协议进行连接测试。 | Test-Connection -ComputerName ipv6.baidu.com -IPv6 |
| 路由追踪功能 | -Traceroute |
启用路由追踪功能,类似 tracert 命令。 |
Test-Connection -ComputerName ipv6.baidu.com -Traceroute |
| 结果格式化与输出 | -Quiet |
如果目标不可达,返回 True 或 False,而不是详细的错误信息。 |
Test-Connection -ComputerName ipv6.baidu.com -Quiet |
-InformationLevel |
控制显示的详细信息级别。 | Test-Connection -ComputerName ipv6.baidu.com -InformationLevel Detailed |
|
| 高级选项 | -NoResolve |
不进行 DNS 解析,只测试 IP 地址连接。 | Test-Connection -ComputerName ipv6.baidu.com -NoResolve |
-Port |
测试特定端口的网络连接。 | Test-Connection -ComputerName ipv6.baidu.com -Port 443 |
|
| 并行测试 | -AsJob |
将测试作为后台作业(异步执行)。 | Test-Connection -ComputerName ipv6.baidu.com -AsJob |
| 控制连接方式 | -Source |
指定源地址进行测试。 | Test-Connection -ComputerName ipv6.baidu.com -Source 192.168.1.1 |
-Session |
使用已有的 PSSession 进行连接测试。 | Test-Connection -ComputerName ipv6.baidu.com -Session $session |
|
| 输出控制 | -OutBuffer |
指定返回结果的缓冲区大小。 | Test-Connection -ComputerName ipv6.baidu.com -OutBuffer 4 |
功能说明
-
基础 Ping 测试: 这是
Test-Connection的最常用功能,类似于ping命令。你可以指定目标主机,发送指定次数的 Ping 请求,并设置超时、延迟等参数。 -
IPv6 测试: 通过
-IPv6参数,可以强制使用 IPv6 协议进行连接测试,适用于 IPv6 网络环境。 -
路由追踪功能: 使用
-Traceroute参数,PowerShell 将进行类似tracert的路由追踪,显示每一跳的路由信息。 -
结果格式化与输出: 使用
-Quiet参数,可以使输出结果更简洁,返回简单的True或False。使用-InformationLevel可以控制返回结果的详细程度。 -
高级选项: 包括不进行 DNS 解析(
-NoResolve),或测试特定端口的连接(-Port)。此外,你还可以使用-AsJob让命令在后台异步执行。 -
并行测试: 使用
-AsJob参数可以让多个连接测试在后台并行执行,而不会阻塞当前的 PowerShell 会话。 -
控制连接方式: 通过
-Source参数,可以指定某个特定的源地址进行测试。此外,-Session参数允许使用已建立的 PSSession 进行连接测试。 -
输出控制:
-OutBuffer用于控制返回结果的缓冲区大小,适用于处理大量数据时需要优化性能的场景。
示例命令
-
基本 Ping 测试
powershellCopy CodeTest-Connection -ComputerName ipv6.baidu.com -
Ping 测试,指定次数和超时
powershellCopy CodeTest-Connection -ComputerName ipv6.baidu.com -Count 10 -TimeoutSeconds 3 -
IPv6 Ping 测试
powershellCopy CodeTest-Connection -ComputerName ipv6.baidu.com -IPv6 -
路由追踪
powershellCopy CodeTest-Connection -ComputerName ipv6.baidu.com -Traceroute -
只返回
True或FalsepowershellCopy CodeTest-Connection -ComputerName ipv6.baidu.com -Quiet -
测试特定端口
powershellCopy CodeTest-Connection -ComputerName ipv6.baidu.com -Port 443 -
测试源地址
powershellCopy CodeTest-Connection -ComputerName ipv6.baidu.com -Source 192.168.1.100
总结
Test-Connection 是一个多功能的网络测试工具,能够满足常见的网络诊断需求。通过合理配置各种参数,你可以非常灵活地进行连接测试、路由追踪和更细粒度的性能监测。

浙公网安备 33010602011771号