Page 1 sur 1
[R] Exécution de script avec paramètre
Posté : lun. 23 mars 2009 13:20
par vincentr
Bonjour, je souhaiterais faire un script à l'aide d'un exécutable (kidokiller.exe) qui a un paramètre (-n). Ce paramètre permet de scanner tous les lecteurs mais je n'arrive pas à trouver la bonne syntaxe.
Voici le code que j'utilise mais qui ne fonctionne pas :
Code : Tout sélectionner
RunAsSet("administrateur",@ComputerName,"MP")
RunWait("c:\kidokiller\kidokiller.exe -n")
RunAsSet()
J'espère que vous pourrez m'aider ?
Merci
Re: Execution de script avec parmètre
Posté : lun. 23 mars 2009 13:38
par Yogui
Merci d'éditer le titre de votre message afin d'ajouter la balise [..]
Sinon testez avec la fonction ShellExecute
ShellExecute ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )
je n'ai pas kidokiller je ne peux donc pas tester ce code
Re: Execution de script avec paramètre [..]
Posté : lun. 23 mars 2009 16:25
par vincentr
Merci pour l'info, je viens de tester la commande et voici le code qui s'exécute maintenant mais sans les droits d'admin comme si ShellExecute ne prend pas la commande RunAsSet. Alors que le même code avec RunWait("c:\kidokiller\kidokiller.exe") fonctionne
Code : Tout sélectionner
RunAsSet("administrateur",@ComputerName,"MP")
ShellExecute("c:\kidokiller\kidokiller.exe","-n")
RunAsSet()
Une idée ?
Re: [..] Execution de script avec parmètre
Posté : lun. 23 mars 2009 23:52
par Derou
Bonjour,
Tu peux essayer avec #RequireAdmin.
AutoIt Help a écrit :#RequireAdmin
MsgBox(4096,"Info","Now running with admin rights")
Re: [..] Execution de script avec parmètre
Posté : mar. 24 mars 2009 08:12
par Tlem
#RequireAdmin me semble une bonne solution.
Vous pourriez aussi mettre à jour votre version de AutoIt et dans ce cas utiliser cette fonction :
Code : Tout sélectionner
RunAs ( "username", "domain", "password", logon_flag, "filename" [, "workingdir" [, show_flag [, opt_flag ]]] )
Si l'argument ne passe pas, remplacez
"filename" par
@ComSpec & " /c " & "commandName"
Re: [..] Execution de script avec parmètre
Posté : mar. 24 mars 2009 11:10
par vincentr
Je vais tester tout ca.
Merci pour toutes ces informations.
Re: [..] Execution de script avec parmètre
Posté : mar. 24 mars 2009 16:42
par vincentr
Bonjour,
je reviens vers vous, je n'arrive toujours à mon objectif.
Lorsque je fais :
Code : Tout sélectionner
RunAs("administrateur",@computername,"MP",1,"c:\kidokiller\kidokiller.exe -n")
=> Le script se lance mais ne tient pas compte de mon paramètre -n.
Lorsque je fais :
Code : Tout sélectionner
RunAs("administrateur",@computername,"MP",1,@computername & "/c " & "c:\kidokiller.exe -n")
=> Le script se lance (enfin je pense, je ne vois rien), il n'y a pas de msg d'erreur. Mais mon programme kidokiller n'apparait pas dans le gestionnaire des taches. Donc je pense qu'il ne s'exécute pas.
Concernant #RequireAdmin, le programme se lance mais me demande de saisir le mot de passe administrateur or ce n'est pas le but ou je fais une mauvaise manip.
Avez-vous une idée ?
Re: [..] Execution de script avec parmètre
Posté : mar. 24 mars 2009 16:49
par ani
vous indiquez dans le paramétre du logiciel @computername /c
il faut indiquer la variable @comspec
Ce qui doit donner @comspec & ' /c "c:\kidokiller.exe -n"'
j'ai jamais utilisé runas car pas de serveur.
Re: [..] Execution de script avec parmètre
Posté : mar. 24 mars 2009 16:58
par vincentr
c'est une erreur de ma part lors de la rédaction du mail, c'est bien @comspec dans mon prog.
Re: [..] Execution de script avec parmètre
Posté : mar. 24 mars 2009 20:03
par L4crymal
Pour appeler un script avec des paramètres :
Code : Tout sélectionner
$file="monfichierexecutable.exe"
$par1="coucou"
$par2="salut"
$par3="yo ^^"
Run($file & '"' & $par1 & '" "' & $par2 & '" "' & $par3 & '"')
Et le fichier exécutable sera un script du genre :
Code : Tout sélectionner
If $CmdLine[0] = 0 Then Exit
Dim $par1 = $CmdLine[1]
Dim $par2 = $CmdLine[2]
Dim $par3 = $CmdLine[3]
msgbox(0,"","Le premier paramètre est : "&$par1&" le deuxième est : "&$par2&" le troisième est : "&$par3)
Re: [..] Execution de script avec parmètre
Posté : mar. 24 mars 2009 21:29
par Tlem
Éventuellement, essayez ceci :
Code : Tout sélectionner
Func ShellExecuteAs($username, $domain, $password,$logon_flags, $filename, $Param = '', $Workdir = '', $Verb = '', $Showflag = '')
RunAs($username, $domain, $password, $logon_flags, @AutoItExe & ' /AutoIt3ExecuteLine "ShellExecute(''' & $filename & ''',''' & $Param & ''',''' & $Workdir & ''',''' & $Verb & ''',' & $Showflag &')"')
EndFunc ;==>ShellExecuteAs
Re: [..] Execution de script avec parmètre
Posté : ven. 27 mars 2009 00:38
par arrkhan
voyez aussi à ne pas omettre l'espace avant le /c
@comspec & ' /c' & ......
pour avoir plus d infos, vous pouvez aussi utiliser ' /k' qui aura pour effet de laisser la console apparente a la fin de la commande si le flag est sur @sw_show