Показать полную графическую версию : [решено] Telnet автовыполнение команд
Такой вопрос: можно ли написать батник для подключения к удаленному компьютеру по средствам 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).
Гамбари, есть бесплатная утилита автоматизации 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 подерживает)!
Добрый день. Пробовал через 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>
Как добиться ввода комманд?..
Можно сделать имитацию ввода команд руками. Но надо знать, как долго та или иная команда отрабатывает. Я брал по пол секунды на каждую операцию. Вполне достаточно.
Для этого не нужно никаких сторонних программ. У меня была задача перезагружать модем. Реализовал через 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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.