[R] Script pour lancer cmd en administrateur

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
peps
Niveau 1
Niveau 1
Messages : 10
Enregistré le : mar. 17 déc. 2013 16:26
Status : Hors ligne

[R] Script pour lancer cmd en administrateur

#1

Message par peps »

Bonjour à la communauté,

J'aimerais avoir de l'aide pour la création de mon premier script sous AutoIt.

Voici ma demande, j'aimerais un script qui me permettrait de lancer le commande cmd en administrateur et par la suite installer un package .msi se trouvant sur le bureau de la machine.

Merci d'avance,
Modifié en dernier par peps le mar. 11 févr. 2014 17:00, modifié 1 fois.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Script pour lancer cmd en administrateur

#2

Message par TT22 »

Pour lancer CMD en administrateur :

Code : Tout sélectionner

#RequireAdmin
Run("cmd", @SystemDir)
Mais pour installer un MSI se trouvant sur le bureau, pas besoin de passer par CMD, autant le faire directement en AutoIt :

Code : Tout sélectionner

#RequireAdmin
Run(@DesktopDir&"\fichier.msi", @SystemDir)
Cordialement,
TT22
peps
Niveau 1
Niveau 1
Messages : 10
Enregistré le : mar. 17 déc. 2013 16:26
Status : Hors ligne

Re: [..] Script pour lancer cmd en administrateur

#3

Message par peps »

Merci TT22 pour ta réponse !! :wink:

Je t'explique pourquoi, je veux passer par un cmd car il faut que j'installe le .msi en administrateur et je ne suis pas administrateur de la machine donc voilà pourquoi l'utilité du cmd en mode administrateur.

j'espère que tu me comprends !! :D
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Script pour lancer cmd en administrateur

#4

Message par TT22 »

Le fait de passer par CMD ou par AutoIt ne va rien changer :wink:
Quand tu lance CMD sur un compte non administrateur on te demande le mot de passe ce qui permet de lancer CMD en administrateur et donc le MSI.
Si tu lance AutoIt avec #RequireAdmin, au lieu de lancer CMD en administrateur, tu va lancer AutoIt en administrateur puis le MSI.
Le résultat est le même : un MSI exécuté en administrateur.

Tu peux même directement exécuter ton MSI en administrateur :

Code : Tout sélectionner

RunAs("Administrateur", @ComputerName, "Mot De Passe Administrateur", 0, @DesktopDir&"\fichier.msi")
Cordialement,
TT22
peps
Niveau 1
Niveau 1
Messages : 10
Enregistré le : mar. 17 déc. 2013 16:26
Status : Hors ligne

Re: [..] Script pour lancer cmd en administrateur

#5

Message par peps »

OK merci, je vais tenter cela demain au bureau.. :)
peps
Niveau 1
Niveau 1
Messages : 10
Enregistré le : mar. 17 déc. 2013 16:26
Status : Hors ligne

Re: [..] Script pour lancer cmd en administrateur

#6

Message par peps »

Bonjour TT22,

J'ai un problème d’exécution au niveau de mon msi.
La copie se passe bien, mais après l'exécution ne se lance pas.

Peux-tu me dire où est le problème ?

Voici mon script :

#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile_x64=ttx64.exe
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;Installe de LGPI;
FileCopy ("chemin_réseau", @DesktopDir)
#RequireAdmin
Run(@DesktopDir&"\Nom_de_mon_msi.msi", @SystemDir)

Merci d'avance
peps
Niveau 1
Niveau 1
Messages : 10
Enregistré le : mar. 17 déc. 2013 16:26
Status : Hors ligne

Re: [..] Script pour lancer cmd en administrateur

#7

Message par peps »

Re TT22,

Bon j'ai avancé comme tu peux voir, mais j'ai toujours des soucis.... :(

#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile_x64=Autoit\ttx64.exe
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Language=1036
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Region --- CodeWizard generated code Start ---
;MsgBox features: Title=Yes, Text=Yes, Buttons=Yes and No, Icon=Question, Timeout=20 ss
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(36,"Installation de LGPI","Voulez-vous installer LGPI sur votre poste ?",20)
Select
Case $iMsgBoxAnswer = 6 ;Yes

Case $iMsgBoxAnswer = 7 ;No

Case $iMsgBoxAnswer = -1 ;Timeout

EndSelect
#EndRegion --- CodeWizard generated code End ---


; Installe de LGPI
; Application nécéssitant les droits d'admin
#RequireAdmin
; Affiche en bas à droite un message informant du début de l'installation
TrayTip("Installation","Début de l'installation", 1000)
; Pause de 3 secondes
Sleep(3000)
; Copie du msi du poste0 sur le Desktop du client
FileCopy ("\\Chemin_réseau_du_msi", @DesktopDir)
; Lance le programme d'installation
ShellExecute("Nom_de_l’exécutable.msi")
; Le programme attend que la fenêtre d'installation soit active
; WinWaitActive("Nom_de_l'application", "Please wait while Windows configures Nom_de_l'application")
; Pause
Sleep (5000)
; Suppression de l'éxécutable
FileDelete (@DesktopDir&"\Nom_de_l’exécutable.msi")
; Affiche en bas à droite un message informant que l'installation est terminée
TrayTip("Installation","Fin de l'installation", 1000)
; Pause de 3 secondes
Sleep(3000)


1er : Si je mets non lors de l'invité l'installation se lance quand même (problème :) )
2eme : La suppression du .msi ne se fait pas à la fin de l'installation
3eme : L’enchaînement des TrayTip ne sont pas bon

WinWaitActive est commenté, car je ne sais pas si cela est nécessaire dans mon cas....

Merci d'avance,
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Script pour lancer cmd en administrateur

#8

Message par TT22 »

Salut, je pense que ton problème viens de l'utilisation que tu fait de FileCopy.
Et #RequireAdmin ne doit être appelé qu'une seule fois en début de script.

Code : Tout sélectionner

#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile_x64=ttx64.exe
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;Installe de LGPI;
FileCopy ("chemin_réseau\[color=#00BF00]Nom_de_mon_msi.msi[/color]", @DesktopDir[color=#00BF00]&"\Nom_de_mon_msi.msi"[/color])
[strike][color=#FF0000]; #RequireAdmin[/color][/strike]
Run(@DesktopDir&"\Nom_de_mon_msi.msi", @SystemDir)
Cordialement,
TT22
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Script pour lancer cmd en administrateur

#9

Message par Tlem »

@peps
Merci de rajouter les balises de code dans vos messages précédents.
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é".
Répondre