[R] Exécuter un script sur un ordinateur distant

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
amouna98
Niveau 5
Niveau 5
Messages : 127
Enregistré le : jeu. 15 juil. 2010 10:17
Status : Hors ligne

[R] Exécuter un script sur un ordinateur distant

#1

Message par amouna98 »

bonjour
dans le but d'automatiser l’exécution d'un script sur un autre ordinateur j'ai réalisé le script suivant( il n'est pas complet ) :

Code : Tout sélectionner


$Gui = GUICreate( "2oo34U500", 500, 200, -1, 1)
$Label1 = GUICtrlCreateLabel("Ordinateur distant :", 20, 10, 120, 15)
$Label_ip = GUICtrlCreateLabel("Adresse IP :", 40, 30, 120, 15)
$saisir_ip = GUICtrlCreateInput("", 40, 50, 120, 25)
$Label_login = GUICtrlCreateLabel("login :", 40, 80, 120, 15)
$saisir_login = GUICtrlCreateInput("", 40, 100, 120, 25)
$Label_passw = GUICtrlCreateLabel("passw :", 40, 130, 120, 15)
$saisir_passw = GUICtrlCreateInput("", 40, 150, 120, 25,BitOR(0x0020,0x0001))

$ip=GUICtrlRead($saisir_ip)
$login =GUICtrlRead($saisir_login)
$passw=GUICtrlRead($saisir_passw)

$dir="D:\Documents and Settings\" &$login & "\Mes documents\Computer_Name.exe"
$PSexec = "D:\PsExec.exe"   

GUISetState(@SW_SHOW)

$lance=Run( $PSexec & " \\"& $ip & " -u dom2.ad.sys\" & $login & ' -p "' & $passw  & '" -n 15 -h -i "' & $dir & '"') 

 
tout d'abord je veux savoir est ce qu'il n'a pas une meilleur façon pour faire ( mieux que PsExec.exe)
sinon je voulais pouvoir choisir le répertoire de l’exécutable Computer_Name.exe ( sur l'ordinateur distant distant )

merci pour votre aide :)
Modifié en dernier par amouna98 le lun. 13 avr. 2015 09:55, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] exécuter un script sur un ordinateur distant

#2

Message par jguinch »

Mieux que PSEXEC, je sais pas, ça dépend du point de vue de chacun.
Tu peux utiliser les requêtes WMI avec la classe Win32_Process, qui dispose de la méthode Create. Cela te permettra de faire ça sans avoir à passer par un outil externe (même si perso je préfère utiliser Psexec).

Sinon, je ne comprend pas trop je voulais pouvoir choisir le répertoire de l’exécutable Computer_Name.exe ( sur l'ordinateur distant ) .
Est-ce que tu sais à l'avance où est le script sur le poste distant ? Est-ce que tu dois d'abord le copier ? Ne pourrais-tu pas utiliser l'option -c de psexec ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
amouna98
Niveau 5
Niveau 5
Messages : 127
Enregistré le : jeu. 15 juil. 2010 10:17
Status : Hors ligne

Re: [..] exécuter un script sur un ordinateur distant

#3

Message par amouna98 »

merci pour ta réponse .
Sinon, je ne comprend pas trop je voulais pouvoir choisir le répertoire de l’exécutable Computer_Name.exe ( sur l'ordinateur distant ) .
Est-ce que tu sais à l'avance où est le script sur le poste distant ? Est-ce que tu dois d'abord le copier ? Ne pourrais-tu pas utiliser l'option -c de psexec ?
j'aurai aimé ne pas imposer le répertoire de Computer_Name.exe, et donc je préfère que je le copie .j'aimerai pouvoir exécuté ce script sur n import quel PC;
[img]
script.jpg
[/img]
j'ai pas essayé l option -c de PSEXEC. je vais l'essayer
amouna98
Niveau 5
Niveau 5
Messages : 127
Enregistré le : jeu. 15 juil. 2010 10:17
Status : Hors ligne

Re: [..] Exécuter un script sur un ordinateur distant

#4

Message par amouna98 »

je n'arrive pas ! :oops:
voila ma ligne de commande actuelle

Code : Tout sélectionner

lance_Bat=Run( $PsExec & " \\"& $ip & " -u " & $saisir_Domain_local & "\" & $login & ' -p "' & $passw  & '" -n 15 -h -i "' & $Bat & '"')
 
merci de votre aide
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Exécuter un script sur un ordinateur distant

#5

Message par jguinch »

Es-tu sûr de ta ligne de commande ?
Tu peux faire ça :

Code : Tout sélectionner

ConsoleWrite($PsExec & " \\"& $ip & " -u " & $saisir_Domain_local & "\" & $login & ' -p "' & $passw  & '" -n 15 -h -i "' & $Bat & '"')
Ca te permettra de vérifier la syntaxe, ou

Code : Tout sélectionner

Run(@ComSpec & " /k echo " & $PsExec & " \\"& $ip & " -u " & $saisir_Domain_local & "\" & $login & ' -p "' & $passw  & '" -n 15 -h -i "' & $Bat & '"')
Nous, on ne connait pas la valeur de tes variables, donc difficile de t'aider plus.
$PsExec est le chemin complet de l'exécutable, ou juste son nom ? Utilise le chemin complet pour être sûr
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Koumla
Niveau 4
Niveau 4
Messages : 68
Enregistré le : jeu. 15 avr. 2010 11:52
Localisation : France
Status : Hors ligne

Re: [..] Exécuter un script sur un ordinateur distant

#6

Message par Koumla »

Bonjour,

J'utilise dans mes différents script et je n'ai jamais eu de problème.

A tester.

Code : Tout sélectionner

$Gui = GUICreate( "2oo34U500", 500, 200, -1, 1)
$Label1 = GUICtrlCreateLabel("Ordinateur distant :", 20, 10, 120, 15)
$Label_ip = GUICtrlCreateLabel("Adresse IP :", 40, 30, 120, 15)
$saisir_ip = GUICtrlCreateInput("", 40, 50, 120, 25)
$Label_login = GUICtrlCreateLabel("login :", 40, 80, 120, 15)
$saisir_login = GUICtrlCreateInput("", 40, 100, 120, 25)
$Label_passw = GUICtrlCreateLabel("passw :", 40, 130, 120, 15)
$saisir_passw = GUICtrlCreateInput("", 40, 150, 120, 25,BitOR(0x0020,0x0001))

$ip=GUICtrlRead($saisir_ip)
$login =GUICtrlRead($saisir_login)
$passw=GUICtrlRead($saisir_passw)

GUISetState(@SW_SHOW)


$chemin_psexec = "c:\test"
$chemin_exec = "c:"
$exec_a_lancer = "Computer_Name.exe"

$cnx = $chemin_psexec & "\psexec.exe \\" & $ip & " -u " & @LogonDomain & "\" & $login & " -p " & $passw & " -c " & $chemin_exec & "\" & $exec_a_lancer

RunWait(@ComSpec & ' /c ' & $cnx,  "", @SW_HIDE)
amouna98
Niveau 5
Niveau 5
Messages : 127
Enregistré le : jeu. 15 juil. 2010 10:17
Status : Hors ligne

[R] Exécuter un script sur un ordinateur distant

#7

Message par amouna98 »

Merci c'est bon ça marche
Répondre