Войти

Показать полную графическую версию : [решено] Telnet автовыполнение команд


Гамбари
07-04-2009, 10:09
Такой вопрос: можно ли написать батник для подключения к удаленному компьютеру по средствам telnet и сразу же выполнялась какая нибудь команда?
К примеру
telnet 192.168.1.2
taskkill -f -im calc.exe
quit

Petya V4sechkin
07-04-2009, 10:42
Гамбари, у команды Taskkill есть опция /S для выполнения на другом компьютере.
Еще вместо Telnet можно использовать PsExec (http://technet.microsoft.com/ru-ru/sysinternals/bb897553.aspx).

amel27
07-04-2009, 11:28
Гамбари, есть бесплатная утилита автоматизации TelNet - PLINK.EXE
http://forum.oszone.net/showthread.php?p=1029803&highlight=plink#post1029803

britvalord
02-04-2010, 13:07
Всем доброго времени суток, проблема такова: написал простой скриптик для входа на dsl модем и его перезагрузки с использованием plink! но дело в том что модем запрашивает пароль как последовательность нажатых символов(то есть при вводе пароля он не появляется на экране), а plink передает ему пароль как строку и модем ее не воспринимает! как это дело можно исправить? Возможно существует какая та альтернатива плинку, которая позволяет посимвольный автоматизирует именно посимвольный ввод!

Petya V4sechkin
02-04-2010, 13:14
britvalord, в этой теме (http://forum.oszone.net/thread-147012.html) смотрели?

britvalord
02-04-2010, 13:27
Теперь посмотрел :) но суть вопроса не только в перезагрузке, нужен батник который автоматизировал бы вход в в модем, передачу ему некоторых новых параметров и уже потом перезагрузка. но я не могу даже в модема попасть по причине того что ввод пароля(только пароля, логин plink проходит без проблем) организован считыванием символов нажатых клавиш(такой режим ввода telnet подерживает)!

bazik83
30-05-2010, 17:07
Добрый день. Пробовал через PLink соединиться с компьютером следующим образом:

plink -telnet -l user 10.XX.XX.XXX < nusr.txt


Содержание nusr.txt:

password
команда
...
команда
exit


Пароль прокатывает, а все что после, PLink каким то образом умудряется вбивать в открытой консоли между вводом пароля и и ком. строкой. Выглядит это как пустые строки, количество которых равно количеству команд после пароля:
C:\>plink -telnet -l user 10.XX.XX.XXX 0<nusr.txt
Welcome to Microsoft Telnet Service


password:



*===============================================================
Welcome to Microsoft Telnet Server.
*===============================================================
C:\Documents and Settings\user>

Как добиться ввода комманд?..

Martia
25-04-2013, 15:52
Можно сделать имитацию ввода команд руками. Но надо знать, как долго та или иная команда отрабатывает. Я брал по пол секунды на каждую операцию. Вполне достаточно.

Для этого не нужно никаких сторонних программ. У меня была задача перезагружать модем. Реализовал через VBScript:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "telnet 192.168.2.1",9
WScript.Sleep 500
WshShell.SendKeys "admin"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 500
WshShell.SendKeys "1234"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 500
WshShell.SendKeys "reboot"
WshShell.SendKeys "{ENTER}"

этот код сохраняется с расширением .vbs и просто запускается

По аналогии можно юзать telnet с любыми устройствами, с любыми командами. Главное правильно указывать задержки.

AMDBulldozer
25-04-2013, 16:33
надо знать, как долго та или иная команда отрабатывает. »

Такое решение безусловно нельзя назвать удовлетворительным. Правильный подход подразумевает ожидание вывода подсказки для ввода очередной команды. В Unix это реализуется при помощи утилиты expect. Полагаю, что и для ОС семейства windows должно существовать нечто подобное. Или можно взять версию expect для Windows.




© OSzone.net 2001-2012