Exec Ping
Executes a ping request to a specified host using WMI and returns the response time(s) as a string.
This function uses WMI ( Win32_PingStatus ) to perform the ping and collect response time(s). If multiple responses are received, they are concatenated using / as a separator.
VB
Public Function ExecPing(Host) As String
If String.IsNullOrEmpty(Host) Then Return String.Empty
Dim oPing As Object, oRetStatus As Object
Dim szResult As String = String.Empty
Dim bSuccess As Boolean
bSuccess = False
Try
oPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & Host & "'")
For Each oRetStatus In oPing
If String.IsNullOrEmpty(oRetStatus.StatusCode) Or oRetStatus.StatusCode <> 0 Then
'sPing = "timeout" 'oRetStatus.StatusCode
Else
If String.IsNullOrEmpty(szResult) Then
szResult = oRetStatus.ResponseTime
Else
szResult += "/" + oRetStatus.ResponseTime
End If
bSuccess = True
End If
Next
If bSuccess Then
Return szResult
Else
Return "Timeout"
End If
Catch ex As Exception
Return "Not Found"
End Try
End Function