Win32_PingStatus неработает #167278


#0 by Ferz
objWMIServicePing.ExecQuery("Select * From Win32_PingStatus where Address = '"+ Trim(Comp.Name)+"'").StatusCode  должно выдать 0 а в отладчеке говорит "Empty"
#1 by Ковычки
В 2000 нет такого...
#2 by Ковычки
Пользуй так set WSHShell=CreateObject("WScript.Shell") if WSHShell.run("ping -n 1 -w 10 " & Comp.Name,0,-1)=0 then MsgBox Comp.Name & " Еся..." end if
#3 by Ferz
objWMIServicePing -ХР Comp.Name ---- Win2k
#4 by Ковычки
Не верный вообщето синтаксис
#5 by Ferz
где?
#6 by Ковычки
Для 1С это будет так... //******************************************* Процедура Сформировать(Компьютер)    scr=СоздатьОбъект("MSScriptControl.ScriptControl");    Scr.Language = "javascript";    Locator=СоздатьОбъект("WbemScripting.SWbemLocator");    Service=Locator.ConnectServer;    Scr.AddObject("oPing",Service.ExecQuery("Select * From Win32_PingStatus where Address = '"+Компьютер+"'"));    e=Scr.Eval("new Enumerator(oPing)");    Пока e.atEnd=0 Цикл        Сообщить(e.item.StatusCode);        e.moveNext;    КонецЦикла; КонецПроцедуры
#7 by Ferz
А ДЛЯ vbs
#8 by Ferz
WSHShell.run("ping -n 1 -w 10 " & Comp.Name,0,-1) ТАКАЕ ЖЕ ЕРУНДА Empty ДЛЯ ЛЮБОГО КОМПА ЧТО В СЕТИ ЧТО НЕТ
#9 by Ковычки
objWMIServicePing.ExecQuery("Select * From Win32_PingStatus where Address = '"+ Trim(Comp.Name)+"'") - возвращает коллекцию, а не объект и не важно что всего из одного набора значений... Я это всегда пользую счас гляну, мож наврал чего...
#10 by Ferz
а если коллекция тогдя ясно Forall рулит
#11 by Ковычки
Set Locator=CreateObject("MSScriptControl.ScriptControl") Set objWMIServicePing=Locator.ConnectServer set oPing=objWMIServicePing.ExecQuery("Select * From Win32_PingStatus where Address = '" & Trim(Comp.Name) & "'") for each p in oPing msgbox p.StatusCode next
#12 by Ковычки
проверил, все верно и все работает как в
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С