1

Тема: VBS: более быстрый тест доступности домен-контролера

Ранее, я в скриптах перед работой с "неродным" контролером проверял его доступность простым "PingStatus", но сейчас один из наших DC бывает глючит таким образом, что пинговаться - пингуется, но запросы не обрабатывает.

Был набросал простенькую функцию, которая через попытку создание объекта GetObject("LDAP://сервер") определяет доступность:


'--- Тест DC через создание LDAP-объекта
' Если результат = "ОК" - сервер доступен, иначе - тест не пройден и в результате код и описание ошибки
Function uf_LDAPtest_DC (pDC)
    uf_LDAPtest_DC = ""
    Dim objNS
    On Error Resume Next
    err.Clear
    Set objNS = GetObject( "LDAP://" & pDC )
    If Err.Number <> 0 Then
        uf_LDAPtest_DC = "(err# " & CStr(err.Number) &"):" & err.Description
    else
        If IsObject(objNS) Then
            uf_LDAPtest_DC = "OK"
        Else
            uf_LDAPtest_DC = "(Unknown Error test DC: " & pDC & ")"
        End IF
    End IF 'err<>0'
    Set objNS = Nothing
    On Error GoTo 0
End Function

Функция "ловит" попытку обращения к глючному DC.
Но на такой тест нормально работающего сервера бывает уходит несколько секунд (~ до 3-4) - неприятно как-то.

Прошу подсказать вариант более быстрого тестирования доступности DC.

WBR. Roman