[R] Exécution de script avec paramètre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
vincentr
Niveau 3
Niveau 3
Messages : 35
Enregistré le : jeu. 12 mars 2009 09:02
Status : Hors ligne

[R] Exécution de script avec paramètre

#1

Message 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
Modifié en dernier par Tlem le mar. 28 avr. 2009 22:31, modifié 4 fois.
Raison : Ajout balise code
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: Execution de script avec parmètre

#2

Message 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]]]] )

Code : Tout sélectionner

ShellExecute ("c:\kidokiller\kidokiller.exe","-n")
je n'ai pas kidokiller je ne peux donc pas tester ce code
vincentr
Niveau 3
Niveau 3
Messages : 35
Enregistré le : jeu. 12 mars 2009 09:02
Status : Hors ligne

Re: Execution de script avec paramètre [..]

#3

Message 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 ?
Modifié en dernier par Tlem le lun. 23 mars 2009 21:20, modifié 1 fois.
Raison : Ajout balise code
Avatar du membre
Derou
Niveau 1
Niveau 1
Messages : 9
Enregistré le : dim. 22 mars 2009 23:39
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#4

Message par Derou »

Bonjour,
Tu peux essayer avec #RequireAdmin.
AutoIt Help a écrit :#RequireAdmin
MsgBox(4096,"Info","Now running with admin rights")
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#5

Message 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"
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
vincentr
Niveau 3
Niveau 3
Messages : 35
Enregistré le : jeu. 12 mars 2009 09:02
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#6

Message par vincentr »

Je vais tester tout ca.
Merci pour toutes ces informations.
vincentr
Niveau 3
Niveau 3
Messages : 35
Enregistré le : jeu. 12 mars 2009 09:02
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#7

Message 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 ?
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#8

Message 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.
vincentr
Niveau 3
Niveau 3
Messages : 35
Enregistré le : jeu. 12 mars 2009 09:02
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#9

Message par vincentr »

c'est une erreur de ma part lors de la rédaction du mail, c'est bien @comspec dans mon prog.
Avatar du membre
L4crymal
Niveau 8
Niveau 8
Messages : 513
Enregistré le : mer. 24 sept. 2008 14:53
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#10

Message 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)
 
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#11

Message 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
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [..] Execution de script avec parmètre

#12

Message 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
Répondre