Всем добрый день, и с Новым Годом.
Нужно проверить связь с некоторым количеством устройств по IP. И в случае отсутствия вывести перечень offline устройств.
Все бы ничего, и вроде с одним устройством нет проблем. Но только как :
1. как вывести перечень всех устройств, а не по одному в сообщении msg * "Устройства ....1, 2, 3 - Не работаю"
2. не могу запустить команду msg от имени пользователя. Пишет нет прав. От сессии администратора запускается.
Решить эту проблему могу только запуская скрипт с шедулера от имени администратора
Спасибо
CMD/BAT - [решено] Проверка связи с группой ip
-
Iska
Re: CMD/BAT - [решено] Проверка связи с группой ip
Вот работает метод дописывания в файл
все оказалось проще
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 *
все оказалось проще

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 *
-
Iska
Re: CMD/BAT - [решено] Проверка связи с группой ip
Цитата aka_john:
Вот работает … ping 192.168.0.1 1>nul 1>&2&&echo Соединение ЕСТЬ||Echo /Ошибка1
Вообще-то, именно так — с && и || — работает, но не отнюдь так, как следовало бы ожидать. Необходимо и достаточно просто тупо проверять наличие ttl в строке вывода. Об этом неоднократно упоминалось и на данной конференции.
Вот работает … ping 192.168.0.1 1>nul 1>&2&&echo Соединение ЕСТЬ||Echo /Ошибка1
CMD/BAT - [решено] Проверка связи с группой ip
Вообще-то, именно так — с && и || — работает, но не отнюдь так, как следовало бы ожидать. Необходимо и достаточно просто тупо проверять наличие ttl в строке вывода. Об этом неоднократно упоминалось и на данной конференции.
-
aka_john
Re: CMD/BAT - [решено] Проверка связи с группой ip
Получилось так..
Работает. Спасибо.
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 *
Работает. Спасибо.
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 *