CMD/BAT - [решено] Проверка связи с группой ip

Ответить
Аватара пользователя
aka_john

CMD/BAT - [решено] Проверка связи с группой ip

Сообщение aka_john »

Всем добрый день, и с Новым Годом.

Нужно проверить связь с некоторым количеством устройств по IP. И в случае отсутствия вывести перечень offline устройств.

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

1. как вывести перечень всех устройств, а не по одному в сообщении msg * "Устройства ....1, 2, 3 - Не работаю"

2. не могу запустить команду msg от имени пользователя. Пишет нет прав. От сессии администратора запускается.

Решить эту проблему могу только запуская скрипт с шедулера от имени администратора

Спасибо
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Проверка связи с группой ip

Сообщение Iska »

Вот работает метод дописывания в файл

все оказалось проще Изображение



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

Сообщение Iska »

Цитата aka_john:



Вот работает … ping 192.168.0.1 1>nul 1>&2&&echo Соединение ЕСТЬ||Echo /Ошибка1
CMD/BAT - [решено] Проверка связи с группой ip




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

Re: CMD/BAT - [решено] Проверка связи с группой ip

Сообщение aka_john »

Получилось так..

Работает. Спасибо.



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 *
Ответить

Вернуться в «Скриптовые языки администрирования Windows»