Pull to refresh

Управление компьютером с помощью SMS

Reading time2 min
Views3.3K
После первого топика про управление компьютером через SMS получил немало отзывов и пожеланий. Оказалось, что идея не такая уж и безумная, какой казалась на первый взгляд.
Раз идея прижилась — выкладываю новую версию.
Повторяться и выкладывать заново полное описание программы не буду, его можно найти в первом топике, приведу только список изменений и комментарии к некоторым из них.

Новое:
  • Добавлена возможность передачи аргументов коммандной строки при вызове скрипта
  • Добавлено действие по умолчанию
  • Программа отбивает все входящие звонки
Изменения:
  • Программа выводит в лог только ошибки
Ошибки:
  • При проверке новых сообщений, в случае их отсутствия возникала незначительная утечка памяти.

Передача аргументов коммандной строки


Во входящем сообщении ищется первый пробел, если он обнаружен — строка сообщения разбивается на две части, первая интерпретируется как команда, вторая как аргументы коммандной строки.

Например, есть действие, заданное в файле конфигурации:
[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-клиент» успешно остановлена.

Таким образом можно контролировать успешность выполнения отправленной комманды.
Tags:
Hubs:
Total votes 18: ↑15 and ↓3+12
Comments23

Articles