如何使用 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+ 瀏覽量

開始您的 職業生涯

完成本課程即可獲取認證

入門
廣告