Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from Tkinter import *
- import tkMessageBox
- import tkSimpleDialog
- ...
- ventana = Tk()
- ventana.title("AutoGestion de Conexiones AUTOCON")
- ventana.resizable(0,0)
- ventana.config(bg="red")
- ventana.config(bd=10)
- ventana.config(relief="groove")
- ventana.config(cursor="tcross")
- principal=Frame()
- principal.pack(fill="y", expand="True")
- tkMessageBox.showinfo("BIENVENIDO", "En sus marcas!")
- principal.config(bg="white")
- principal.config(width="1000", height="384")
- principal.config(bd=10)
- principal.config(relief="ridge")
- principal.config(cursor="hand2")
- logo=PhotoImage(file="logo.gif")
- Label(principal, text="AutoGestion de Conexiones AUTOCON", fg="red", font=("Swis721 BlkEx BT Negra", 30)).place(x=50, y=50)
- Label(principal, image=logo).place(x=780, y=50)
- def comandos():
- try:
- #solicitamos los datos al usuario
- usuario=tkSimpleDialog.askstring("USUARIO", "Coloque el usuario:")
- clave=tkSimpleDialog.askstring("CONTRASENA", "Coloque la contrasena AAA:", show="*")
- #leemos el archivo listaip.txt y comandos.txt
- #en comandos.txt escribimos los comandos a enviar a los equipos remotos
- archivo1 = open("listaip.txt","r")
- archivo2 = open("comandos.txt","r")
- archivo3 = open("objetivo.txt","w")
- #guardamos en un archivo los resultados obtenidos al final del recorrido
- #leemos lo que contiene los archivos e igualamos a las variables del bucle
- terminales = archivo1.readlines()
- comandoss = archivo2.readlines()
- #bucle que recorre de acuerdo a las n cantidas de direcciones ip activas
- for host in terminales:
- #rstrip eliminamos los espacios que pudieren quedar antes o despues del salto de linea
- host = host.rstrip()
- for command in comandoss:
- #bucle que funciona de acuerdo a la cantidad de direcciones ip almacenadas en el archivo listaip.txt
- command = command.rstrip()
- name = socket.getfqdn()
- #eliminamos los espacios vacios
- #inicializamos el cliente ssh
- ssh = paramiko.SSHClient()
- #leemos la clave local
- ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- #efectuamos la conexion
- ssh.connect(host, username=usuario, password=clave)
- stdin, stdout, stderr = ssh.exec_command(command)
- #leemos la salida
- salida = stdout.read()
- #creamos una lista vacia
- lista =[]
- #anadimos los elementos de la salida al final de la lista
- lista.append(salida)
- #esto es para verificar en consola que si esta ejecutandose correctamente
- print "ok"
- #escribimos en el archivo
- archivo3.write(str((host + ":" + salida +" establecido con exito" + "n" )))
- ssh.close()
- #cerramos la conexion y todos los archivos
- archivo1.close()
- archivo2.close()
- archivo3.close()
- except:
- error1 = "nError al ejecutar la conexion!n"
- tkMessageBox.showinfo("Resultado", error1)
- barra = Menu(ventana)
- ...
- #menucomandos
- menucomandos = Menu(barra, tearoff=1)
- menucomandos.add_command(label="Aplicar comandos escritos en los archivos",
- command=comandos)
- barra.add_cascade(label="Comandos",menu=menucomandos)
- ventana.config(menu=barra)
- ventana.mainloop()
Add Comment
Please, Sign In to add comment