如何使用 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.
广告