如何使用 PowerShell 测试远程计算机连接性?


要通过 PowerShell 测试远程连接,可以使用Test-Connection命令。PowerShell 还支持 Ping 命令,这两个命令生成的输出几乎相同,但是Test-Connection cmdlet 支持高级参数。看看这两个命令的输出效果。

Ping 命令 

PS C:\Temp> ping Test1-Win2k16
Pinging Test1-Win2k16 [192.168.0.108] with 32 bytes of data:
Reply from 192.168.0.108: bytes=32 time<1ms TTL=128
Reply from 192.168.0.108: bytes=32 time=1ms TTL=128
Reply from 192.168.0.108: bytes=32 time=1ms TTL=128
Reply from 192.168.0.108: bytes=32 time=1ms TTL=128
Ping statistics for 192.168.0.108:
   Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
   Minimum = 0ms, Maximum = 1ms, Average = 0ms

Test-Connection 命令输出

PS C:\Scripts> Test-Connection Test1-win2k16
Source    Destination    IPV4Address    IPV6Address
------    -----------    -----------    -----------
ADDC    Test1-win2k16    192.168.0.108
ADDC    Test1-win2k16    192.168.0.108
ADDC    Test1-win2k16    192.168.0.108
ADDC    Test1-win2k16    192.168.0.108

你可以使用-Count参数来减少检查次数。它与 ping 命令中的 -n 相近。

 示例

PS C:\Scripts> Test-Connection Test1-win2k16 -Count 2
Source    Destination    IPV4Address    IPV6Address
------    -----------    -----------    -----------
ADDC    Test1-win2k16    192.168.0.108
ADDC    Test1-win2k16    192.168.0.108

如果你需要静默执行上述命令,则可以使用 -Quiet 参数,如果连接成功或失败,它将返回一个布尔值(True 或 False)。

PS C:\Scripts> Test-Connection Test1-win2k16 -Count 2 -Quiet
True

Test-Connection 的优点是它支持一些常见参数,比如错误处理。在下面的示例中,服务器 Any-Comp 不存在。为了在服务器不可达或服务器名称不存在时捕捉错误,我们将使用 cmdlet 支持的 ErrorAction 参数。

try {
   Test-Connection Any-Comp -Count 2 -ErrorAction Stop
}
catch {
   $_.Exception.Message
}

输出

Testing connection to computer 'Any-Comp' failed: Cannot resolve the target name.

更新时间:2020 年 7 月 28 日

2K+ 浏览量

开始您的 职业生涯

完成本课程即可获取认证

入门
广告