![]() |
Уведомление о перезагрузке Windows на email/СМС
Присказка: Произошла тут на выходных неприятность одна: комп на работе ребутнулся (энергетики постарались, козлы: даже ИБП не спас :mad: ). В результате некоторые вещи пол-воскресенья работали не совсем так как надо было. Проблемы зайти по удаленному управлению нет, и делов там - три пимпы ткнуть. Проблема в том, что в общем-то, никто не обязан круглые сутки мониторить: чего там у тебя на работе происходит, согласитесь?
Сказка: И озадачился я вчера на тему написания какого-нить скриптика, который при перезагрузке стучал бы о данном происшествии. СМС-шлюзы для частников у мобильных провайдеров когда-то были, но уже давным-давно закрыты, так что всяческие софтины для "халявной отправки СМС" - в лучшем случае не будут работать. В худшем - запустят втихаря в работу на вашей машине что-нить совершенно левое, и к отправке СМС не имеющее никакого отношения. В природе существует консольная утилитка со смешным названием blat Так же, нам понадобится утиль sleep.exe из Windows Server 2003 Resource Kit Tools. Смешно конечно ради одного екзешника весом в 5кб тянуть и ставить кирпич на 11ть метров, но для "ставить" - есть виртуалка, да и помимо sleep там много чего полезного есть, что можно заархивировать и припрятать - мало ли, понадобится... Кроме того, вроде мне Борланд говорил что на Висте и Семерке Про и выше есть что-то своё с аналогичными функциями (не помню, сам допишет может быть). Итак, качаем blat, распаковываем, к нему же кидаем sleep.exe. там же создаем небольшой скриптик blat.cmd Код:
@echo off
Итак, скрипт есть. Теперь идем в панель управления - назначенные задания и давим там на "Добавить". Далее - "Обзор" - показываем наш скрипт, после чего выбираем "при загрузке компьютера"; в следующем окне пишем что задание должно выполняться от Администратора, вводим его пасс; ставим галку "установить дополнительные параметры после нажатия готово". В свойствах задания, в строке "выполнить" перед путём до скрипта дописываем c:\Windows\System32\cmd.exe /c Код:
c:\Windows\System32\cmd.exe /c c:\SystemTools\mailreport\blat.cmd Совет: для проверок - значение "600" в строке запуска sleep.exe лучше придавить до 10ти, а то упаритесь ждать :biggrin: Если есть необходимость получать СМС о данном событии - регим ящик получателя на мыл-сервисах умеющих отправлять СМС о получении нового письма. mail.ru умеет точно: проверял. Гугль, зараза, не умеет :( . Так же есть некие сложности с использованием gmail в качестве ящика отправителя: blat не умеет работать с серверами, требующими ssl. Варианты обхода существуют (stunnel), но это лишняя "клюква" на машине, да и не проверял я. |
Цитата:
Зато sleep от 2003 сервера не работает на Vista и 7 (во всяком случае - на x64)... Впрочем, есть и куча "универсальных" sleep под любые мыслимые ОС, накомпилированных добровольцами. ;) А также и другие методы приостановки выполнения пакетного файла Но в данном конкретном случае можно было сделать задержку "до появления соединения с SMTP-сервером": Код:
:INIT Наиболее универсальным решением, пожалуй, будет банальный ping: Код:
:INIT Замечание: Цитата:
Более правильным всё-таки является использование переменной %COMPUTERNAME%. ;) |
Цитата:
ща исправлю |
много воды с тех пор утекло, много еще мы с Борландом понаписали "стукачей" о всяческих эвентах на этой основе.
Цитата:
Итак, качаем stunnel, ставим. В процессе установки сервис сгенерит для себя самоподписанный сертификат SSL. Конфиг stunnel.conf для mail.ru Код:
RNDfile = .rnd Включаем stunnel как сервис (чтоб грузился надёжней) Перелопачиваем скрипты: заменяем pop3 авторизацию на AUTH, меняем адрес smtp. Итого, из скрипта приведенного в шапке, получаем: Код:
@echo off К слову, документация на stunnel мягко говоря, не блещет подробностями. Я не нашел например, параметра лимита соединений. Но в логе при загрузке оно регулярно ругается на то что он у меня не установлен: Код:
2014.10.06 13:25:15 LOG7[2420]: No limit detected for the number of clients Код:
CAfile = mailru.pem ps. для того чтоб сделать авторизацию на несколько различных мыл-серверов, достаточно просто раскопировать секцию сервера в stunnel.conf, указав для каждого уникальный порт, и стучать соответственно, для каждого в свой порт. |
Ребят, а не проще реализовать это скриптом, как например ТУТ?
вроде как все стандартное и никакого левого софта на серваке |
Часовой пояс GMT +4, время: 19:37. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.