Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Пинг группы ПК по списку IP

Ответить
Настройки темы
Пинг группы ПК по списку IP

Пользователь


Сообщения: 84
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!

Как имея список IP-адресов (на форме элемент "список" заполнен ими) иметь информацию (подсветкой другим цветом) какие включены а какие нет ПК? Прога моя используется для удаленного управления по типу Radmin. Прежде чем "ломиться" на другой комп, лучше бы видеть его активность ... Спасибо

Отправлено: 07:17, 19-04-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Что именно непонятно?

Отправлено: 09:29, 19-04-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 84
Благодарности: 0

Профиль | Отправить PM | Цитировать


Начнем с того, что какой способ проверки избрать: пинг или ещё есть какие методы. Ну и сам скриптик бы ...

Будет механизм проверки активности компа к списку на форме и выделению строчки в нём сам прикручу ...

Отправлено: 19:36, 19-04-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Serg2010, пинг. Для скорости опроса рекомендую пользовать асинхронный Wbem — запросы выполняются асинхронно, обрабатываются квазисинхронно; примеры на WSH: vbscript: асинхронная обработка множественных запросов WMI (Страница 1) — Windows Script Host, HTA (VBScript, JScript) — Серый форум.

Отправлено: 06:37, 20-04-2013 | #4


Пользователь


Сообщения: 84
Благодарности: 0

Профиль | Отправить PM | Цитировать


мдя... я в аутоит еле-еле ... а тут

Мм, а что если я использую простой до безобразия способ: сделаю на каждый комп скрипт, чтобы при загрузке ставил 1 в какой-нибудь текстовый ини-файл в шаре на сервере. А при выключении писал туда 0. Ну а моему скрипту достаточно будет "пробежаться" по этому текстовому файлу чтобы сразу картина была ясна. Другими словами каждый комп обязан регистрироваться при включении и выключении в некотором журнале ... Ну а моя прога просто с периодичность какую задам считывает их состояние оттуда. В итоге я не буду тыкаться на тот компьютер который выключен, что и требовалось доказать ...

Отправлено: 19:30, 21-04-2013 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Serg2010, это крайне неудобное решение:
читать дальше »
связь может прерваться в любой момент, машина может выключаться некорректно и т.п. Наконец, подобная система давно существует: Vadims Podans' blog - Сетевое окружение (и особливо по ссылкам на KB внутри статьи). Именно из-за её ограничений и возникает потребность иметь точную картину, которую может дать только сиюминутный опрос машин.


Держите (я упростил приведённый пример для конкретного случая):
читать дальше »
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Local $aComputers = StringSplit("google.com,www.ya.ru,localhost,test", ",", 2)

Local $oSWbemServicesEx = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\Root\CIMV2")
Local $oSWbemSink       = ObjCreate("WbemScripting.SWbemSink")
Local $oSinkObject      = ObjEvent($oSWbemSink, "Sink_")

Local $lCount = UBound($aComputers)

For $sComputer In $aComputers
    $oSWbemServicesEx.ExecQueryAsync($oSWbemSink, "SELECT * FROM Win32_PingStatus WHERE ADDRESS = '" & $sComputer & "'")
Next

Do
    Sleep(100)
Until $lCount = 0

$oSWbemSink.Cancel

$oSinkObject      = 0
$oSWbemSink       = 0
$oSWbemServicesEx = 0

Exit(0)
;=============================================================================

;=============================================================================
Func Sink_OnObjectReady($oWbemObject, $oWbemAsyncContext)
    If IsNumber($oWbemObject.StatusCode) Then
        If $oWbemObject.StatusCode = 0 Then
            ConsoleWrite($oWbemObject.Address & @Tab & "On" & @Tab & "Response time: " & $oWbemObject.ResponseTime & " ms" & @CRLF)
        Else
            ConsoleWrite($oWbemObject.Address & @Tab & "Off" & @Tab & "Status code: " & $oWbemObject.StatusCode & @CRLF)
        EndIf
    Else
        ConsoleWrite($oWbemObject.Address & @Tab & "Not found" & @CRLF)
    EndIf
EndFunc
;=============================================================================

;=============================================================================
Func Sink_OnCompleted($iHResult, $oWbemErrorObject, $oWbemAsyncContext)
    $lCount = $lCount - 1
EndFunc
;=============================================================================

Возможный результат:
читать дальше »
Код: Выделить весь код
>Running:(3.3.6.1):C:\Program Files\AutoIt3\autoit3.exe "E:\Песочница\0119\0002.au3"    
localhost	On	Response time: 0 ms
www.ya.ru	On	Response time: 573 ms
google.com	On	Response time: 528 ms
test	Not found
+>23:15:36 AutoIT3.exe ended.rc:0
>Exit code: 0    Time: 13.066

Теперь прикручивайте:
Цитата Serg2010:
Будет механизм проверки активности компа к списку на форме и выделению строчки в нём сам прикручу ... »

Отправлено: 23:18, 21-04-2013 | #6


Аватара для AZJIO

Старожил


Сообщения: 254
Благодарности: 126

Профиль | Отправить PM | Цитировать


Serg2010, http://u.to/Atly

Отправлено: 01:17, 22-04-2013 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Пинг группы ПК по списку IP

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Перебор свободных IP по списку и выбор свободного Debugger Скриптовые языки администрирования Windows 4 11-02-2012 17:42
CMD/BAT - пинг группы адресов и запись первого удачного в файл в конкретное место. orbita Скриптовые языки администрирования Windows 2 06-01-2012 10:32
Как лучше сделать автоотключение группы ПК в определенном OU по расписанию? menpavel Microsoft Windows NT/2000/2003 6 27-07-2010 10:02
Прочее - У 2х компьютеров отсутствует пинг, не видят рабочей группы.. Netman Сетевые технологии 8 23-01-2010 23:58
Сеть: 3 компа, есть пинг но не видят раб.группы Duka_minimo Сетевые технологии 4 06-03-2007 18:02




 
Переход