Here is quick script which connects to Active Directory, reads all computer accounts from Organization Unit (OU) indicated in script and then pings all computers found in that OU. It might be handy if all server accounts are located in one OU.
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject(“ADODB.Connection”)
Set objCommand = CreateObject(“ADODB.Command”)
objConnection.Provider = “ADsDSOObject”
objConnection.Open “Active Directory Provider”
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = “Select Name from 'LDAP://OU=Servers,DC=domain,DC=com' Where objectClass='computer'“
objCommand.Properties(“Page Size”) = 10000
objCommand.Properties(“Searchscope”) = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst
Do Until
objRecordSet.EOF
Set objPing = GetObject(“winmgmts:{impersonationLevel=impersonate}”).ExecQuery(“select * from Win32_PingStatus where address = '“ & objRecordSet.Fields(“Name”).Value &“'“)
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
WScript.Echo(“Computer “ & objRecordSet.Fields(“Name”).Value & “ did not respond”)
Else
WScript.Echo(“Computer “ &objRecordSet.Fields(“Name”).Value & “ responded. Response time: “ &objStatus.ResponseTime & “ Response TTL: “ &objStatus.ResponseTimeToLive)
End If
Next
objRecordSet.MoveNext
Loop