Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Проверка связи с группой ip (http://forum.oszone.net/showthread.php?t=338529)

aka_john 03-01-2019 12:29 2849573

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

Iska 03-01-2019 13:44 2849581

vbscript: асинхронная обработка множественных запросов WMI — Коллекция скриптов и идей — Серый форум

aka_john 04-01-2019 20:00 2849797

Вот работает метод дописывания в файл
все оказалось проще :)

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 2849798

Цитата:

Цитата aka_john
Вот работает … ping 192.168.0.1 1>nul 1>&2&&echo Соединение ЕСТЬ||Echo /Ошибка1 »

Вообще-то, именно так — с && и || — работает, но не отнюдь так, как следовало бы ожидать. Необходимо и достаточно просто тупо проверять наличие ttl в строке вывода. Об этом неоднократно упоминалось и на данной конференции.

aka_john 04-01-2019 22:40 2849841

Получилось так..
Работает. Спасибо.

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


Время: 18:53.

Время: 18:53.
© OSzone.net 2001-