YuS_2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору KLASS Цитата: И IP выдает левые, и разные, совсем не тот, который в данный момент | а-а-а, я-то думал, что нужен IP сервера, который пингуется... внешний IP получать проблематичнее. Как вариант, да, можно пинговать с маршрутом и получать адрес первого узла. Цитата: Не критично, но, всё же, я бы изменил шаблон на такой: Код: ($Rout = ping -r 1 -n 1 www.yandex.ru) | Out-Null $new_ip = (sls -inp $rout -patt '(?<=:\s+)[\d.]+').matches.value $old_ip = Get-Content -Path $ext_ip -TotalCount 1 | Цитата: но шлет письма каждые 10 минут, независимо сменился тот IP или нет | Значит где-то чего-то недоделано. По условию, при выполнении скрипта, почта будет уходить, только если выполнится условный блок: Код: if ($new_ip -ne $old_ip){...} | то бишь если $new_ip -ne $old_ip - истина, т.е. они не совпадают... Добавлено: Цитата: mail-send $new_ip 'IP сменился' 'from@bk.ru' 'password' | Кстати, эту строку можно и так записать: Код: mail-send -sabj $new_ip -body 'IP сменился' -login 'from@bk.ru' -password 'password' | или так, учитывая то, что параметры имеют уже значения: Код: mail-send -sabj $new_ip -pass 'password' | либо вообще без значений вызывать: Код: но параметры можно опускать, только если эти параметры имеют соответствующие значения по умолчанию в описании самой функции. Если параметры указываются не по порядку или какие-либо параметры не указываются, то необходимо обязательно указывать имена аргументов (например -pass, можно с сокращениями) | Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 00:32 26-11-2019 | Исправлено: YuS_2, 00:35 26-11-2019 |
|