Finding network computer status more quickly

I am running a code that is querying a folder on all of my remote computers in order to see if the computer is turned on or off.

Now the code works perfectly, but when there is a computer turned off the timeout is very long.  I am wondering if there's a way I can speed up the process for failed computers.

Thanks
Dim LastRow As String
    Dim i As Integer
    Dim Computer As String
    Dim fso As New FileSystemObject
    Dim d
    
    LastRow = Range("A65536").End(xlUp).Row
 
    On Error Resume Next
    
    For i = 1 To LastRow
 
            Computer = Range("A" & i & "").Value
 
            fso.GetFolder ("\\" & Computer & "\c$")
            
            If Err.Number <> 0 Then
                Err.Clear
                Cells(i, 2) = "Fail"
            Else
                Cells(i, 2) = "Good"
            End If
 
    Next i

Open in new window

ScotTFOAsked:
Who is Participating?
 
ScotTFOConnect With a Mentor Author Commented:
I have resolved this issue myself using:
Function SystemOnline(ByVal ComputerName As String)
    Dim colPingResults As Variant
    Dim oPingResult As Variant
    Dim strQuery As String
 
    strQuery = "SELECT * FROM Win32_PingStatus WHERE Address = '" & ComputerName & "'"
 
    Set colPingResults = GetObject("winmgmts://./root/cimv2").ExecQuery(strQuery)
    For Each oPingResult In colPingResults
        If Not IsObject(oPingResult) Then
            SystemOnline = False
        ElseIf oPingResult.StatusCode = 0 Then
            SystemOnline = True
        Else
            SystemOnline = False
        End If
    Next
End Function

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.