Pagina 1 di 1

[RISOLTO] eseguire comandi remoti

Pubblicato: 22 marzo 2018 - 13:24
di empbilly
Ciao,

Ho cercato ma non ho trovato un comando specifico per eseguire un comando in remoto.

C'è qualcosa per questo?

Ho provato il seguente metodo. Devo eseguire da remoto, ad esempio, il comando "wapt-get generate-uuid".

Ho provato quanto segue, ma ho ricevuto un errore.

Codice: Seleziona tutto

# -*- 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: Eseguire comandi remoti

Pubblicato: 22 marzo 2018 - 14:01
di sfontenau
Puoi trarre ispirazione da questo pacchetto:

https://wapt.lesfourmisduweb.org/detail ... 3_all.wapt

Re: Eseguire comandi remoti

Pubblicato: 22 marzo 2018 - 14:16
di empbilly
sfonteneau ha scritto: 22 marzo 2018 - 14:01 Puoi trarre ispirazione da questo pacchetto:

https://wapt.lesfourmisduweb.org/detail ... 3_all.wapt
Wow!! Grazie sfontenau!!! Funziona a meraviglia!!

Re: Eseguire comandi remoti

Pubblicato: 23 marzo 2018 - 21:27
di empbilly
sfontenau,

Per quanto riguarda il mio esempio,

Codice: Seleziona tutto

run(r'c:\windows\system32\cmd.exe /c wapt-get generete-uuid')
Funzionerebbe tramite WAPT?

Re: Eseguire comandi remoti

Pubblicato: 24 marzo 2018 - 00:26
di htouvet
Teoricamente,

Codice: Seleziona tutto

run(r'wapt-get generete-uuid')
sarebbe sufficiente poiché il comando run avvia per impostazione predefinita una subshell (cmd).

generate-uuid potrebbe eventualmente funzionare, ma molti altri "wapt-get" non funzionerebbero correttamente perché deve essere in esecuzione un solo processo wapt alla volta (e waptservice è un processo wapt).

E se puoi fare ciò di cui hai bisogno direttamente usando Python, hai più controllo per gestire le eccezioni (try: except: try finally: ecc.) come avresti con una shell cmd

Re: Eseguire comandi remoti

Pubblicato: 26 marzo 2018 - 14:41
di empbilly
htouvet ha scritto: 24 marzo 2018 - 00:26 Teoricamente,

Codice: Seleziona tutto

run(r'wapt-get generete-uuid')
sarebbe sufficiente poiché il comando run avvia per impostazione predefinita una subshell (cmd).

generate-uuid potrebbe eventualmente funzionare, ma molti altri "wapt-get" non funzionerebbero correttamente perché deve essere in esecuzione un solo processo wapt alla volta (e waptservice è un processo wapt).

E se puoi fare ciò di cui hai bisogno direttamente usando Python, hai più controllo per gestire le eccezioni (try: except: try finally: ecc.) come avresti con una shell cmd
ciao htouvet,

Utilizzando Python direttamente, è necessario che il computer di destinazione abbia Python installato o che se ne occupi il client wapt? È necessaria l'esecuzione con diritti amministrativi?

Re: Eseguire comandi remoti

Pubblicato: 26 marzo 2018 - 19:35
di dcardon
Ciao Empbilly,
empbilly ha scritto: 26 marzo 2018 - 14:41 Utilizzando Python direttamente, è necessario che la macchina di destinazione abbia Python installato o il client Wapt se ne occupa? È necessaria l'esecuzione con diritti amministrativi?
wapt è dotato del proprio interprete Python 2.7. Si trova nella directory base dell'installazione di wapt, normalmente c:\program files (x86)\wapt\waptpython.exe. Puoi aggiungere il tuo interprete Python se ne hai davvero bisogno.

Saluti,

Denis

Re: Eseguire comandi remoti

Pubblicato: 26 marzo 2018 - 21:30
di empbilly
La risposta si trova nell'argomento del link sottostante.

viewtopic.php?f=10&t=1083