Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров3.4K
После первого топика про управление компьютером через 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-клиент» успешно остановлена.

Таким образом можно контролировать успешность выполнения отправленной комманды.
Теги:
Хабы:
Всего голосов 18: ↑15 и ↓3+12
Комментарии23

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн