Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2019 16:06:59

Andy7777
Зарегистрирован: 2019-04-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

secureCRT scripting

добрый день уважаемому сообществу! с питоном пока на вы, в процессе изучения. возникла проблема, неделю голову ломаю - не доходит.
суть - написал короткий скрипт под secureCRT чтоб жизнь себе облегчить (вход на циску и shutdown/no shutdowm на интерфейс). все хорошо - но скрипт отказывается запускаться в открытой вкладке, норовит отработать в соседней где его само собой - никто не ждет и зачастую идут другие процессы… если нет открытых вкладок - все работает на ура. понятно что надо как-то указать скрипту индекс открытой вкладки - но в доке никаких указаний не нашел. может кто укажет направление чего/где искать?
скрипт прост как мычание
—————-
# $language = “python”
# $interface = “1.0”

host = crt.Dialog.Prompt( “Enter hostname asr: ”)
interface = crt.Dialog.Prompt( “Enter interface: ”)
user = “user”
password = “password”

shutdown = crt.Dialog.MessageBox(“shutdonw?”,“”,BUTTON_YESNO)
if shutdown == IDYES:
shutdown = “shutdown”
elif shutdown == IDNO:
shutdown = “no shutdown”
else:
shutdown = “no shutdown”

def Main():
crt.Session.ConnectInTab(“/SSH2 /L user1 /PASSWORD password1 10.10.10.1”)
crt.Screen.Synchronous = True
crt.Screen.Send(chr(13))
crt.Screen.WaitForString(“@terminal#”)
crt.Screen.Send(“telnet ” + host + chr(13))
crt.Screen.WaitForString(“sername: ”)
crt.Screen.Send(user + chr(13))
crt.Screen.Send(password + chr(13))
crt.Screen.WaitForString(“#”)
crt.Screen.Send(“sh run int ” + interface + chr(13))
crt.Screen.Send(“conf t” + chr(13))
crt.Screen.WaitForString(“(config)#”)
crt.Screen.Send(“int ” + interface + chr(13))
crt.Screen.WaitForString(“(config-subif)#”)
crt.Screen.Send(shutdown + chr(13))
crt.Screen.WaitForString(“(config-subif)#”)
crt.Screen.Send(“commit” + chr(13))
crt.Screen.WaitForString(“(config-subif)#”)
crt.Screen.Send(“exit” + chr(13))
crt.Screen.WaitForString(“#”)
crt.Screen.Send(“exit” + chr(13))
crt.Screen.WaitForString(“#”)
crt.Screen.Send(“quit” + chr(13))
crt.Screen.Synchronous = False

Main()
—————-

Отредактировано Andy7777 (Апрель 19, 2019 16:08:43)

Офлайн

#2 Апрель 23, 2019 10:46:27

Andy7777
Зарегистрирован: 2019-04-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

secureCRT scripting

мда. за пять дней никто не ответил. ну да ладно, а ларчик просто открывался…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version