Here is a function I use to add some detail to ping results. You can easily add it to any of the previously posted scripts. strPingStatus = PingStatus(strComputer) If strPingStatus = "Success" Then '<-- Attempt to ping target system ' <do some work> Else ' <dont do the work> end if wscript.quit '--[ Functions & SubRoutines ]--------------------------------------------------- Function PingStatus(strComputer) On Error Resume Next strWorkstation = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strWorkstation & "\root\cimv2") Set colPings = objWMIService.ExecQuery _ ("SELECT * FROM Win32_PingStatus WHERE Address = '" & strComputer & "'") For Each objPing in colPings Select Case objPing.StatusCode Case 0 PingStatus = "Success" Case 11001 PingStatus = "Status code 11001 - Buffer Too Small" Case 11002 PingStatus = "Status code 11002 - Destination Net Unreachable" Case 11003 PingStatus = "Status code 11003 - Destination Host Unreachable" Case 11004 PingStatus = "Status code 11004 - Destination Protocol Unreachable" Case 11005 PingStatus = "Status code 11005 - Destination Port Unreachable" Case 11006 PingStatus = "Status code 11006 - No Resources" Case 11007 PingStatus = "Status code 11007 - Bad Option" Case 11008 PingStatus = "Status code 11008 - Hardware Error" Case 11009 PingStatus = "Status code 11009 - Packet Too Big" Case 11010 PingStatus = "Status code 11010 - Request Timed Out" Case 11011 PingStatus = "Status code 11011 - Bad Request" Case 11012 PingStatus = "Status code 11012 - Bad Route" Case 11013 PingStatus = "Status code 11013 - TimeToLive Expired Transit" Case 11014 PingStatus = "Status code 11014 - TimeToLive Expired Reassembly" Case 11015 PingStatus = "Status code 11015 - Parameter Problem" Case 11016 PingStatus = "Status code 11016 - Source Quench" Case 11017 PingStatus = "Status code 11017 - Option Too Big" Case 11018 PingStatus = "Status code 11018 - Bad Destination" Case 11032 PingStatus = "Status code 11032 - Negotiating IPSEC" Case 11050 PingStatus = "Status code 11050 - General Failure" Case Else PingStatus = "Status code " & objPing.StatusCode & " - Unable to determine cause of failure." End Select Next End Function