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