Function IsComputerAvailable(HostName)
On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\" & HostName& "\root\CIMV2")
If Err.Number<>0 Then
IsComputerAvailable=False
Else
IsComputerAvailable=True
End If
On Error Goto 0
End Function
Как быстро получить список активных хостов домена (VBScript)
Есть функция
Код:
но она не дает быстрого ответа, WMI-запрос для недоступного хоста длится порядка 20-25 секунд.
Вариант проверять пингом
Код:
Set objShell=CreateObject("WScript.Shell")
Set objExec=objShell.Exec("ping -n " & 2 & " -w " & 500 & " " & HostName)
strPingResults=LCase(objExec.StdOut.ReadAll)
If InStr(strPingResults, "reply from") Then
' есть отклик
Set objExec=objShell.Exec("ping -n " & 2 & " -w " & 500 & " " & HostName)
strPingResults=LCase(objExec.StdOut.ReadAll)
If InStr(strPingResults, "reply from") Then
' есть отклик
тоже не подходит, так как тут привязка к языку системы ("reply from").
В общем, нужно каким-то образом получить список активных хостов домена. Возможно из LDAP?
Заранее благодарен за помощь.