На счет скрипта, а как вам nncron ?
вот описание
nnCron - это компактный (900k), но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы, nnCron умеет:
запускать произвольные программы как сервисы
запускать задачи "от имени" указанных юзеров
отслеживать и перезапускать просроченные задачи и напоминалки
выключать или "усыплять" компьютер в заданное время, "будить" компьютер, чтобы запустить задачу
отображать/скрывать/закрывать/убивать/сворачивать/разворачивать и прятать в системный трей заданные окна, добавлять в трей произвольные иконки
менять размер и местоположение окон, а также изменять их "прозрачность"
выводить на экран и в лог-файл любые сообщения, в том числе и запросы на выполнение указанных действий
работать с клипбордом, файлами и реестром
эмулировать клавиатурный ввод и операции с мышкой
звонить и класть трубку
воспроизводить аудио-файлы и "пищать" через системный динамик
синхронизировать системное время
присваивать процессам указанный приоритет и прерывать работу любых запущенных процессов
автоматически перезапускаться после фатальных ошибок
nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/оффлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое другое...
в нем есть плагин Плагин wakeup.spf
Позволяет "будить" компьютер из режимов энергосбережения suspend и hibernate (если, конечно, аппаратная часть компьютера поддерживает эти режимы).
Слова WakeAfter: и WakeAt: фактически являются аналогами слова PAUSE: на весь период, пока компьютер "спит". Это означает, что все ключевые слова в задаче, которые указаны после слов WakeAfter: и WakeAt: будут выполнены сразу после пробуждения компьютера.
И пример скрипта
Код:
#( wakeup_task
\ таймер взводится в момент ухода компьютера в режим 'hibernate'
WatchSuspend
Action:
\ компьютер "проснется" через 8 часов 30 минут
WakeAfter: 08:30
\ сообщение будет выведено после "пробуждения" компьютера
TMSG: "I'm ready!" 3
)#
SET wake_time=10:00
#( wakeup_task1
\ таймер взводится ежедневно в полночь
Time: 0 0
Action:
\ компьютер "проснется" через 10 часов
WakeAfter: %wake_time%
\ сообщение будет выведено после "пробуждения" компьютера
TMSG: "I'm ready!" 3
)#