Имя: Пароль:
IT
Админ
какой надо использовать класс wmi, чтоб узнать имя комп. по ip
0 tmpnikl
 
03.06.15
11:52
Вот в этом запросе определяется статус,
Scr.AddObject("oPing",Service.ExecQuery("Select * From Win32_PingStatus where Address = '192.168.0.1'))
но если статус Ok, хотелось бы определить имя компа, но я не знаю каким классом воспользоваться...
1 palpetrovich
 
03.06.15
12:18
хз, может не совсем в тему, но мало-ли, мо кому пригодится :)

    спКомп = СоздатьОбъект("СписокЗначений");
    Попытка
        ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
        ScrptCtrl.Language="vbscript";
        ScrptCtrl.AddCode("
        |Function GetComputers()
        |    Set WinNT = GetObject(""WinNT:"")
        |    WinNT.Filter = Array(""domain"")
        |    For Each Domain In WinNT
        |        Set ADSI = GetObject(""WinNT://"" & Domain.Name)
        |        ADSI.Filter = Array(""computer"")
        |        For Each Comp In ADSI
        |            strInfo=strInfo & Domain.Name & "";"" & Comp.Name & vbCrLf
        |        Next
        |    Next
        |    GetComputers = strInfo
        |End Function
        |");
        Текст=СокрЛП(ScrptCtrl.Run("GetComputers"));
        ScrptCtrl = "";
    Исключение
        Предупреждение(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    Для Индекс=1 по СтрКоличествоСтрок(Текст) Цикл
        СтрТекста = СтрПолучитьСтроку(Текст,Индекс);
        Разделитель = Найти(СтрТекста,";");
        Домен = Лев(СтрТекста,Разделитель-1);
        Компьютер = Прав(СтрТекста,СтрДлина(СтрТекста)-Разделитель);
        спКомп.ДобавитьЗначение(Компьютер,Домен+"\"+Компьютер);
    КонецЦикла;

зы не мое :)
2 tmpnikl
 
03.06.15
12:27
спасибо, будем юзать объект WinNT
Ошибка? Это не ошибка, это системная функция.