Ping

如何在不使用 ping 的情況下確定機器是否線上?

  • May 16, 2021

我曾經使用可以 ping 或在機器上執行埠掃描的應用程序,即使機器被配置為不允許它。

我目前正在嘗試 ping 我們 WAN 上的遠端機器,但我已將機器配置為不允許 ping。我可以使用類似於 ping 的東西嗎?

同樣,這是一台位於另一個城市的機器,它是我們 wan 的一部分。

如果您使用 XP/2003+(包括 Vista/2008/7),那麼您可以使用Win32_PingStatus。執行腳本程式碼的機器是唯一需要 XP/2003+ 的系統,它的工作方式與使用 Ping.exe 一樣,只是它不使用 ping.exe,因此它應該成為您的安全設置的漏洞不允許執行 ping.exe。

strComputer = "192.168.1.1"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery _
   ("Select * from Win32_PingStatus " & _
       "Where Address = '" & strComputer & "'")
For Each objItem in colItems
   If objItem.StatusCode = 0 Then 
       WScript.Echo "Reply received."          
   End If
Next

有關如何使用 Win32_PingStatus 的更多資訊,請參閱腳本專家文章:

http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/hey0914.mspx

引用自:https://serverfault.com/questions/13780