from netmiko import ConnectHandler, NetmikoAuthenticationException, ReadTimeout, ConnectionException, NetMikoTimeoutException from getpass import getpass from pprint import pprint import sys type = "cisco_ios_telnet" host = sys.argv[2] username = "" password = "" # R1 = { # 'device_type':"cisco_ios_telnet", # 'ip':"172.16.20.17", # 'username':"", # 'password':"", # 'port': 23, # # 'password': # # 'secret':'', # } R1 = { 'device_type':type, 'ip':host, 'username':username, 'password':password, 'port': int(sys.argv[3]), # 'password': '', 'secret':'', } output = "" check="" # print(sys.argv) # print(R1) try: # print(R1) with ConnectHandler(**R1) as connect: # #change mode output += connect.send_command_timing("clear line "+ sys.argv[4], strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("connect p"+sys.argv[5] , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) if "User Name" in output: if "press ENTER key" in output: output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) # output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) # output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("show abc" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35) output += connect.send_command_timing("show inventory" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35) # output += connect.send_command_timing("enable" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) else: output += connect.send_command_timing("show abc" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35) output += connect.send_command_timing("enable" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35) if "[yes/no]" in output: output += connect.send_command_timing("no" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=10.0, read_timeout=35) output += connect.send_command_timing("no" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=10.0, read_timeout=35) output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35) print(output) connect.disconnect() except NetmikoAuthenticationException: print("Netmiko Authentication xxError") except NetMikoTimeoutException: print("NetMikoTimeoutException xxError") except ConnectionRefusedError as err: print("Connection Refused xxError") #Connection Refused except ValueError: print("Mode xxError") except ReadTimeout: print("xxError: Read Timeout") except ConnectionException: print("Connection xxError")