|
Не получается пинг |
☑ |
0
dddonnn
03.03.14
✎
16:46
|
Здравствуйте, подскажите, пожалуйста, почему ошибка в строке
Items = ServicesSet.ExecQuery("SELECT StatusCode from Win32_PingStatus WHERE address = '" + IP + "' AND Timeout=10");
?
Вот код
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Сообщить(Avaible("192.168.0.39"));
//Сообщить(Avaible("ert"));
КонецПроцедуры
// Функция Avaible проверяет "пингуется" ли указанный IP
Function Avaible(IP) Export
Try
ServicesSet = GetCOMObject("winmgmts:{impersonationLevel=impersonate}");
Items = ServicesSet.ExecQuery("SELECT StatusCode from Win32_PingStatus WHERE address = '" + IP + "' AND Timeout=10");
Except
Return Undefined;
EndTry;
For Each Item In Items Do
If Item.StatusCode = 0 Then
Return True;
Else
Return False;
EndIf;
EndDo;
EndFunction
|
|
1
Spieluhr
03.03.14
✎
17:09
|
&НаКлиенте
Функция ПроверитьПИНГ(IPАдрес)
Результат = Ложь;
Если ЗначениеЗаполнено(IPАдрес) Тогда
Попытка
Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.language="vbscript";
Скрипт.addcode("
|Function Avaible()
|Set objWMIService = GetObject(""winmgmts:{impersonationLevel=impersonate}"")
|Set objPing = objWMIService.ExecQuery(""select * from Win32_PingStatus where address = '"+IPАдрес+"'"")
|For Each objStatus in objPing
|If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
| Avaible = false
|Else
| Avaible = true
|End If
|Next
|End function
|");
Результат = Скрипт.Run("Avaible");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
Возврат Результат;
КонецФункции
|
|
2
Wobland
03.03.14
✎
17:13
|
интересно, а как будет "доступен" по-английски?
|
|
3
ДенисЧ
03.03.14
✎
17:14
|
(2) available
|
|
4
Wobland
03.03.14
✎
17:15
|
(3) спасибо, чуть не потерял веру в себя
|
|
5
dddonnn
04.03.14
✎
08:47
|
(1) Спасибо=)
|
|