После первого топика про управление компьютером через SMS получил немало отзывов и пожеланий. Оказалось, что идея не такая уж и безумная, какой казалась на первый взгляд.
Раз идея прижилась — выкладываю новую версию.
Повторяться и выкладывать заново полное описание программы не буду, его можно найти в первом топике, приведу только список изменений и комментарии к некоторым из них.
Новое:
Во входящем сообщении ищется первый пробел, если он обнаружен — строка сообщения разбивается на две части, первая интерпретируется как команда, вторая как аргументы коммандной строки.
Например, есть действие, заданное в файле конфигурации:
Отправляем сообщение вида 123 net stop dnscache. Полученное сообщение будет разбито, 123 будет интерпретировано как идентификатор действия а net stop dnscache будет передано в скрипт в качестве аргумента коммандной строки.
Выполняется в том случае, если не найдено других действий с указанным идентификатором. Весь текст входящего SMS сообщения передается в качестве аргументов коммандной строки.
Отправляем сообщение net stop dnscache, если отсутствует действие с идентификатором net будет выполнено действие Default, в качестве аргументов скрипту будет передано net stop dnscache.
При использовании скрипта cmd.vbs, в том случае если у действия выставлен флаг reply = 1, после выполнения скрипта будет отправлено SMS сообщение, содержащее консольный вывод вызываемой комманды. Например, после выполнении net stop dnscache придет SMS с текстом
Служба «DNS-клиент» успешно остановлена.
Таким образом можно контролировать успешность выполнения отправленной комманды.
Раз идея прижилась — выкладываю новую версию.
Повторяться и выкладывать заново полное описание программы не буду, его можно найти в первом топике, приведу только список изменений и комментарии к некоторым из них.
Новое:
- Добавлена возможность передачи аргументов коммандной строки при вызове скрипта
- Добавлено действие по умолчанию
- Программа отбивает все входящие звонки
- Программа выводит в лог только ошибки
- При проверке новых сообщений, в случае их отсутствия возникала незначительная утечка памяти.
Передача аргументов коммандной строки
Во входящем сообщении ищется первый пробел, если он обнаружен — строка сообщения разбивается на две части, первая интерпретируется как команда, вторая как аргументы коммандной строки.
Например, есть действие, заданное в файле конфигурации:
[123]
script = scripts\cmd.vbs
reply = 1
replyTo = 7917XXXXXX
allowedTo = 7917XXXXXX,7902YYYYYY
Отправляем сообщение вида 123 net stop dnscache. Полученное сообщение будет разбито, 123 будет интерпретировано как идентификатор действия а net stop dnscache будет передано в скрипт в качестве аргумента коммандной строки.
Действие по умолчанию
Выполняется в том случае, если не найдено других действий с указанным идентификатором. Весь текст входящего SMS сообщения передается в качестве аргументов коммандной строки.
[Default]
script = scripts\cmd.vbs
reply = 1
replyTo = 7917XXXXXX
allowedTo = 7917XXXXXX,7902YYYYYY
Отправляем сообщение net stop dnscache, если отсутствует действие с идентификатором net будет выполнено действие Default, в качестве аргументов скрипту будет передано net stop dnscache.
При использовании скрипта cmd.vbs, в том случае если у действия выставлен флаг reply = 1, после выполнения скрипта будет отправлено SMS сообщение, содержащее консольный вывод вызываемой комманды. Например, после выполнении net stop dnscache придет SMS с текстом
Служба «DNS-клиент» успешно остановлена.
Таким образом можно контролировать успешность выполнения отправленной комманды.