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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Если пинг не идет тогда сообщить по ел.почте (http://forum.oszone.net/showthread.php?t=284551)

Ua-life 03-07-2014 21:20 2371747

Если пинг не идет тогда сообщить по ел.почте
 
Привет. не могу разобраться каким образом сравнять массивы.
и так
$ping = ping add.no-ip.biz; $result = ping add.no-ip.biz ; $ping;$result
далее ну никак
if ($result[0] --eq $ping[0]) {echo 'Есть связь'} else {echo 'Нет связи'}
не могу сравнить, что бы если данные одинаковы то могу ничего не делать, а если нет то другие действия (в дальнейшем отправка ел. почты)

Ua-life 03-07-2014 21:41 2371756

а если if (Compare-Object $result $ping) {echo 'yes'} else {echo 'no'} то все ровно есть изменения хотя вроде однаковые результаты

Iska 04-07-2014 02:22 2371835

Что значит:
Цитата:

Цитата Ua-life
сравнять массивы »

? Опишите словами, что требуется. Не как Вы решаете, а саму задачу.

Ua-life 04-07-2014 08:20 2371866

))
Хочу в файлик повершел написать процедуру, которая пингует определенный айпи адрес, если пинг проходит значит можно приостановить скрипт, а если не проходит то отправляем сообщение по електронной почте, что связи нет с айпи адресом

этот файлик я буду запускать с помощью планировщика заданий через определенной время

Kazun 04-07-2014 08:44 2371875

Код:

if(!(Test-Connection ya.ru -Quiet)) {
        Send-MailMessage -To "User01 <user01@example.com>" -From "User02 <user02@example.com>" -Subject "PING FAIL!!!" -SmtpServer smtp.fabrikam.com
}


milligan 04-07-2014 09:35 2371889

Код:

if(!(Test-Connection ya.ru -Quiet)) {
        Send-MailMessage -To "User01 <user01@example.com>" -From "User02 <user02@example.com>" -Subject "PING FAIL!!!" -SmtpServer smtp.fabrikam.com
}

перед Send-MailMessage разве не нужно указать SMTP сервер?
$PSEmailServer = "FQDN"

Kazun 04-07-2014 09:40 2371890

Не нужно, т.к. указан параметр -SmtpServer smtp.fabrikam.com

Ua-life 04-07-2014 18:47 2372106

ту такие дела, что провайдер блокирует 25 порт у меня, а smtp сервера требуют tls, то как быть в данном случаи?!

и не могу понять что значит второй User02 ? Копия типа?

Ua-life 05-07-2014 10:46 2372287

спасибо большое за наводку, сделал немного по другому, проверка доступен ли адрес оставил, а вот последующую отправку почты с сообщение сделал вот http://copyraite.blogspot.com/2013/09/blog-post.html так
в итоге получилось что если недоступный то будет вызываться скрипт с blat, что по ссылке, спасибо

но думаю если бы кто то подсказал как в приведенном в ответе скрипте можно было указать порт отправки то вышло бы и с помощью повершела

Ua-life 05-07-2014 11:09 2372294

-Port но что то не получается указать с разными ошибками, приведите пример будьте добры

Iska 05-07-2014 11:42 2372301

Ua-life, зачем Вам «Blat.exe» при возможности использовать в PoSH как собственный командлет «Send-MailMessage», так и CDO?!

Sending E-mail via Powershell script - Techniatures - Site Home - TechNet Blogs

Ua-life 05-07-2014 11:56 2372302

Цитата:

Цитата Iska
зачем Вам »

так вот и я думаю зачем )) на быструю руку сделал так, а сейчас разбираюсь как с повершел

Ua-life 05-07-2014 12:15 2372311

вышло таким образом
Код:

$PSEmailServer  = "smtp..ru"
if(!(Test-Connection .no-ip.biz -Quiet)) {
Send-MailMessage -From ".sklad@mail.ru" -To "@hotmail.com" -Subject "текст!" -Body "Address not available .no-ip.biz"  -PORT "587"
}

спасибо мужики

кстати, а как скрыть появления повершел окна при вызове с планировщика?

а ладно, через свойства ярлыка попробую

Ua-life 05-07-2014 12:33 2372317

тюю, а теперь при выполнении скрипта "Send-MailMessage : Неправильная последовательность команд."
да и + в планировщике не указать на ярлык задачи, а значит свойства ярлыка не помогут для скрытия команды выпонения

через секунду отправило письмо ... странно ...


Время: 02:58.

Время: 02:58.
© OSzone.net 2001-