Войти

Показать полную графическую версию : [решено] Проверка связи с группой ip


aka_john
03-01-2019, 12:29
Всем добрый день, и с Новым Годом.
Нужно проверить связь с некоторым количеством устройств по IP. И в случае отсутствия вывести перечень offline устройств.
Все бы ничего, и вроде с одним устройством нет проблем. Но только как :
1. как вывести перечень всех устройств, а не по одному в сообщении msg * "Устройства ....1, 2, 3 - Не работаю"
2. не могу запустить команду msg от имени пользователя. Пишет нет прав. От сессии администратора запускается.
Решить эту проблему могу только запуская скрипт с шедулера от имени администратора
Спасибо

Iska
03-01-2019, 13:44
VBScript: асинхронная обработка множественных запросов WMI — Коллекция скриптов и идей — Серый форум (http://forum.script-coding.com/viewtopic.php?id=3783)

aka_john
04-01-2019, 20:00
Вот работает метод дописывания в файл
все оказалось проще :)

ping 192.168.0.1 1>nul 1>&2&&echo Соединение ЕСТЬ||Echo /Ошибка1> error.txt
ping 192.168.0.2 1>nul 1>&2&&echo Соединение ЕСТЬ||Echo /Ошибка2>> error.txt
ping 192.168.0.3 1>nul 1>&2&&echo Соединение ЕСТЬ||Echo /Ошибка3>> error.txt

msg *<error.txt

Iska
04-01-2019, 20:11
Вот работает … ping 192.168.0.1 1>nul 1>&2&&echo Соединение ЕСТЬ||Echo /Ошибка1 »
Вообще-то, именно так — с && и || — работает, но не отнюдь так, как следовало бы ожидать. Необходимо и достаточно просто тупо проверять наличие ttl в строке вывода. Об этом неоднократно упоминалось и на данной конференции.

aka_john
04-01-2019, 22:40
Получилось так..
Работает. Спасибо.

Echo Внимание! Отсутствует связь со следующим перечнем устройств >error.txt

ping 192.168.0.152 |>nul find /i "TTL=" || echo ОШИБКА ВЕСЫ МЯСО >>error.txt
ping 192.168.0.154 |>nul find /i "TTL=" || echo ОШИБКА ВЕСЫ ГАСТРОНОМИЯ_1 >>error.txt
ping 192.168.0.151 |>nul find /i "TTL=" || echo ОШИБКА ВЕСЫ ГАСТРОНОМИЯ_2 >>error.txt
ping 192.168.0.159 |>nul find /i "TTL=" || echo ОШИБКА ВЕСЫ РЫБА >>error.txt
ping 192.168.0.156 |>nul find /i "TTL=" || echo ОШИБКА ВЕСЫ КОНДИТЕРКА_1 >>error.txt
ping 192.168.0.153 |>nul find /i "TTL=" || echo ОШИБКА ВЕСЫ КОНДИТЕРКА_2 >>error.txt
ping 192.168.0.155 |>nul find /i "TTL=" || echo ОШИБКА ВЕСЫ ФАСОВКА >>error.txt

ping 192.168.0.101 |>nul find /i "TTL=" || echo ОШИБКА КАССА_1 >>error.txt
ping 192.168.0.102 |>nul find /i "TTL=" || echo ОШИБКА КАССА_2 >>error.txt
ping 192.168.0.103 |>nul find /i "TTL=" || echo ОШИБКА КАССА_3 >>error.txt
ping 192.168.0.104 |>nul find /i "TTL=" || echo ОШИБКА КАССА_4 >>error.txt
ping 192.168.0.105 |>nul find /i "TTL=" || echo ОШИБКА КАССА_5 >>error.txt
ping 192.168.0.106 |>nul find /i "TTL=" || echo ОШИБКА КАССА_6 >>error.txt
ping 192.168.0.107 |>nul find /i "TTL=" || echo ОШИБКА КАССА_7 >>error.txt



type "error.txt" |>nul find "ОШИБКА" || goto end
msg /time:60 * <error.txt
:end




© OSzone.net 2001-2012