Page 1 sur 1

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

Posté : lun. 30 déc. 2013 14:39
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 :)

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

Posté : lun. 30 déc. 2013 16:14
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 ?

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

Posté : jeu. 09 janv. 2014 11:46
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

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

Posté : jeu. 16 janv. 2014 15:32
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

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

Posté : jeu. 16 janv. 2014 22:04
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

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

Posté : ven. 17 janv. 2014 10:22
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)

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

Posté : lun. 13 avr. 2015 09:53
par amouna98
Merci c'est bon ça marche