Ping
如何在不使用 ping 的情況下確定機器是否線上?
我曾經使用可以 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