Página 1 de 1

[RESUELTO] ejecutar comandos remotos

Publicado: 22 de marzo de 2018 - 13:24
por empbilly
Hola,

Busqué y no encontré un comando específico para ejecutar un comando de forma remota.

¿Hay algo para eso?

Intenté lo siguiente. Necesito ejecutar remotamente, por ejemplo, el comando "wapt-get generate-uuid".

Intenté lo siguiente, pero dio error.

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print('executing remote command')
    run(r'c:\windows\system32\cmd.exe /c wapt-get generete-uuid')

Re: Ejecutar comandos remotos

Publicado: 22 de marzo de 2018 - 14:01
por sfonteneau

Re: Ejecutar comandos remotos

Publicado: 22 de marzo de 2018 - 14:16
por empbilly
sfonteneau escribió: 22 de marzo de 2018 - 14:01 h. Puedes inspirarte en este paquete:

https://wapt.lesfourmisduweb.org/detail ... 3_all.wapt
¡Guau! ¡Gracias, Sfonteneau! ¡Funciona de maravilla!

Re: Ejecutar comandos remotos

Publicado: 23 de marzo de 2018 - 21:27
por empbilly
Sfonteneau,

Respecto a mi ejemplo,

Código: Seleccionar todo

run(r'c:\windows\system32\cmd.exe /c wapt-get generete-uuid')
¿Esto funcionaría a través de WAPT?

Re: Ejecutar comandos remotos

Publicado: 24 de marzo de 2018 - 00:26
por htouvet
En teoría,

Código: Seleccionar todo

run(r'wapt-get generete-uuid')
sería suficiente ya que el comando ejecutar inicia un subshell (cmd) por defecto.

generate-uuid podría eventualmente funcionar, pero muchos otros "wapt-get" no funcionarían correctamente porque solo un proceso wapt debe estar ejecutándose a la vez (y waptservice es un proceso wapt).

Y si puedes hacer lo que necesitas directamente usando Python, tienes más control para manejar las excepciones (try: except: try finally: etc.) como lo tendrías con un shell cmd

Re: Ejecutar comandos remotos

Publicado: 26 de marzo de 2018 - 14:41
por empbilly
htouvet escribió: 24 de marzo de 2018 - 00:26 En teoría,

Código: Seleccionar todo

run(r'wapt-get generete-uuid')
sería suficiente ya que el comando ejecutar inicia un subshell (cmd) por defecto.

generate-uuid podría eventualmente funcionar, pero muchos otros "wapt-get" no funcionarían correctamente porque solo un proceso wapt debe estar ejecutándose a la vez (y waptservice es un proceso wapt).

Y si puedes hacer lo que necesitas directamente usando Python, tienes más control para manejar las excepciones (try: except: try finally: etc.) como lo tendrías con un shell cmd
Hola Htouvet,

Al usar Python directamente, ¿es necesario que la máquina de destino tenga instalado Python o que el cliente WAPT se encargue de ello? ¿Se requiere la ejecución con permisos de administrador?

Re: Ejecutar comandos remotos

Publicado: 26 de marzo de 2018 - 19:35
por dcardon
Hola Empbilly,
empbilly escribió: 26 de marzo de 2018 - 14:41. Al usar Python directamente, ¿es necesario que la máquina de destino tenga Python instalado o el cliente wapt se encarga de ello? ¿Se necesitan permisos de administrador para la ejecución?
wapt incluye su propio intérprete de Python 2.7. Se encuentra en el directorio base de la instalación de wapt, normalmente c:\program files (x86)\wapt\waptpython.exe. Puedes añadir tu propio intérprete de Python si realmente lo necesitas.

Salud,

Denis

Re: Ejecutar comandos remotos

Publicado: 26 de marzo de 2018 - 21:30
por empbilly
La respuesta se encuentra en el tema del siguiente enlace:

viewtopic.php?f=10&t=1083