Что нового

Как запустить программу на удаленном компе с помощью СМС?

merc

Новичок
Сообщения
3
Репутация
0
На удаленном компе стоит билайновский модем. Надо запускать (останавливать) программы на нем, посылая на него СМС. К примеру, послал ему СМС - 1, комп перезагрузился. Как это сделать скриптом autoit. Подкиньте идеи.
 

lirikmel

Продвинутый
Сообщения
225
Репутация
84
1 если запущен интернет постоянно то лучше будет использовать что то вроде
http://autoit-script.ru/index.php/topic,5242.0.html
2 если нет интернета то поидее можно сделать логгирование входящих сообщений в программу билайна.. :scratch: должны же ети сообщения гдето храниться
3 если список функционала небольшой вроде перезагрузки вкл выкл ...то я пользовался на терминалах вот такой штукой
http://www.alniko.ru/product/timer/
 
Автор
M

merc

Новичок
Сообщения
3
Репутация
0
Вопрос не в том, как отправить СМС. Вопрос в том, что есть системный блок с модемом, без монитора, мыши и клавиатуры. Я на него шлю смс: загрузи такую-то программу. Или: "эй, дружок, подключись-ка к интернет, хочу на тебя зайти тимвьером и кое-что посмотреть". Или что-то еще.

Конечно, где-то смс хранятся. Можно в назначенных заданиях проверять периодически это место, наверное, но я опять же про другое: смс пришла-в ответ на это событие запустился скрипт, прочитал смс, выполнил, что от него хотят.
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
369
Люблю вот такие теоретические задачки :smile:
Допустим, ты нашел куда система пишет входящие СМС, и допустим это обычный текстовый файл, тогда все просто:
Код:
$sFileSMS = @ScriptDir & '\sms.txt' ; путь к файлу с смс-ками
$hFile = FileOpen($sFileSMS, 0) ; открываем файл на чтение
$sTextStart = FileRead($hFile) ; получаем содержимое файла
FileClose($hFile)
; дальше нам нужно получить текст смс, предположим, что формат файла такой:
; +712312323 текст1
; +798979799 текст2
; и новые смс пишутся в конец файла
While 1
; считываем содержимое файла, чтобы узнать добавилось ли новое смс или нет
; можно делать другие проверки, например, проверять изменение размера файла (FileGetSize)
; или даты внесения изменений в файл (FileGetTime) - это не важно
	$hFile = FileOpen($sFileSMS, 0)
	$sTextNew = FileRead($hFile)
	If $sTextNew <> $sTextStart Then ; файл был модифицирован
		$sTextStart = $sTextNew ; записываем содержимое для последующих сравнений
		$sSMS = StringRegExpReplace($sTextNew, '(?si).*\+\d{11}\s+(.*)$', '$1')
		ConsoleWrite($sSMS & @CRLF)
		If $sSMS = 'reboot' Then ; пришла СМС на перезагрузку
			Shutdown(2)
		ElseIf $sSMS = 'notepad' Then ; или запустить блокнот
			Run('notepad.exe')
		EndIf
	EndIf
	FileClose($hFile)
	Sleep(1000) ; пауза между чтениями файла
WEnd
 

ynbIpb

Скриптер
Сообщения
399
Репутация
109
Не тем путём идёте товарищи.
Нужно цепляться на виртуальный COM порт, с которым работает программа билайна, и вместо неё ловить смску (вроде через AT команды). Но сообщения приходят зашифрованные, их ещё нужно расшифровать.
 

ArtInt

Знающий
Сообщения
135
Репутация
18
Мороки не оберёшься, их фиг расшифруешь, вроде...
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
361
Интересно, вот это не подойдет?
http://nhutils.ru/sms.htm
 

ArtInt

Знающий
Сообщения
135
Репутация
18
merc, это ж для отправки, не? А тут принимать надо...
 
Верх