'Create a file to write the result
'============================================================
FileName = "PingResult.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(FileName)) Then
    Set resultFile = fso.OpenTextFile(FileName, 8)
else
    Set resultFile = fso.CreateTextFile(FileName, true)
end if
subnetID = "192.168.35."
For range = 2 to 254 ' specify range of ip 
ipAddress = subnetID & range
    if Ping(ipAddress) then
            resultFile.writeline ipAddress & " is alive"
    else
        resultFile.writeline ipAddress & " is dead"    
    end if
next
'Using Win32_PingStatus class
'============================================================
Function Ping(ipAddress)
        Set objWMIService = _
GetObject("winmgmts:\\.\root\cimv2")
        Set colItems = objWMIService.ExecQuery _
        ("Select * from Win32_PingStatus " & _
        "Where Address = '" & ipAddress & "'")
    For Each objItem in colItems
            If objItem.StatusCode = 0 Then 
                Ping = True
        else
            Ping = False          
            End If
    Next
 
End Function 
Wednesday, September 16, 2009
Revised script for IP range ping
Last year i actually wrote a script to do the same thing but the script is not really good and always have the annoyed dos windows pop-up. This time, i using the example on the "Hey, Scripting Guy!" and it is a much much better script in terms of neatness and speed) for doing the same thing
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment