[..] Lancer script utilisateur

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Otacon95
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 26 mai 2014 13:58
Status : Hors ligne

[..] Lancer script utilisateur

#1

Message par Otacon95 »

Bonjour tout le monde, je me suis lancé dans autoit il y a quelques temps, et j'aimerai faire un script qui desinstalle un programme, le problème est que je peux desinstaller le programme quand je suis admin, mais pas quand je suis un utilisateur standard. J'ai donc essayé un runAs mais la mon setup ne se lance carément pas...
Le but serait qu'on ai pas a reécrire le mot de passe pour chaque déploiement, voici mon script :

Code : Tout sélectionner

#include <Process.au3>
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#RequireAdmin
if FileExists(@ProgramFilesDir & "\fichier a desinstaller\setup.exe") = 1 then

   Run(@ProgramFilesDir & "\fichier a desinstaller\setup.exe /x")
   WinWaitActive("[CLASS:Uninstall]","", 3); on attend notre fenetre
   Send("{ENTER}"); on fait ENTER
   sleep(25000)
   Send("{ENTER}"); on fait ENTER
EndIf
j'ai pensé a runAs mais ça ne marche pas (même en étant admin)
quelqu'un pour m'aider? ^^
Modifié en dernier par Otacon95 le lun. 26 mai 2014 15:50, modifié 1 fois.
Avatar du membre
Chrnos023
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 mai 2014 10:47
Status : Hors ligne

Re: [admin]lancer script utilisateur

#2

Message par Chrnos023 »

Chaque logiciel à des fenêtres différentes à la désinstallation...
Je ne pense pas que ce code marchera pour tous les logiciels.
Avatar du membre
Chrnos023
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 mai 2014 10:47
Status : Hors ligne

Re: [admin]lancer script utilisateur

#3

Message par Chrnos023 »

Code : Tout sélectionner

WinWaitActive("[CLASS:Uninstall]","", 3); on attend notre fenetre
Ou vas tu chercher cet CLASS: Uninstall?
Ce que tu peux faire est que tu désinstalles le logiciel de ton choix.
Que tu récupères les infos nécessaires que tu stockes dans des variables et il va te falloir analyser les ID contenues dans les fenêtres qui apparaissent et utilisés ensuite des Controlcliks qui vont directement aller sur les ID ciblés.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [admin]lancer script utilisateur

#4

Message par jguinch »

Otacon95, merci de modifier le titre du premier message afin qu'il respecte les règles de présentation d'un message.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Otacon95
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 26 mai 2014 13:58
Status : Hors ligne

[..] Lancer script utilisateur

#5

Message par Otacon95 »

J'ai déjà regardé les noms des fenêtres mais c'est juste que le setup ne se lance pas, je n'aurai aucun soucis après pour ce qui est de cliquer sur desinstaller. J'ai déjà réussi a désinstaller de manière automatique le programme, c'est juste qu'un utilisateur standard ne peut pas le faire, et je ne peux pas me permettre de passer poste par poste pour entrer le mot de passe admin.. :s
comme je l'ai dis le run marche que si on est admin, le runAs ne marche pas même admin, j'ai essayé plusieurs façon différentes de faire le script
Avatar du membre
Chrnos023
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 mai 2014 10:47
Status : Hors ligne

Re: [..] Lancer script utilisateur

#6

Message par Chrnos023 »

Pourquoi à la fin de ce code tu mets un /x ???

Code : Tout sélectionner

Run(@ProgramFilesDir & "\fichier a desinstaller\setup.exe /x")
Otacon95
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 26 mai 2014 13:58
Status : Hors ligne

Re: [..] Lancer script utilisateur

#7

Message par Otacon95 »

C'était pour forcer la désinstallation^^ ça a marché la premère fois, mais mon seul problème c'est vraiment cette histoire de droit, il faudrait que j'entre une seule fois le mot de passe admin, et pas avoir a le rentrer pour 500 postes :s
Avatar du membre
Chrnos023
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 mai 2014 10:47
Status : Hors ligne

Re: [..] Lancer script utilisateur

#8

Message par Chrnos023 »

Avec ou sans le /x mon code réagit de la même manière.
Avatar du membre
Chrnos023
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 mai 2014 10:47
Status : Hors ligne

Re: [..] Lancer script utilisateur

#9

Message par Chrnos023 »

OK, je regarde mais je suis admin de mon poste la...
Otacon95
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 26 mai 2014 13:58
Status : Hors ligne

Re: [..] Lancer script utilisateur

#10

Message par Otacon95 »

Comme je l'ai dis, si je le lance chez un utilisateur, ça ne marchera pas automatiquement, il faudra retaper le mot de passe, j'avais essayé de baisse la sécurité windows (empecher l'apparition d'une fenêtre de confirmation)
j'avais essayé çà sinon :

Code : Tout sélectionner

RunAs("Administrateur", "PC-TEST", "Azerty123456789", 0, @ProgramFilesDir & "\fichier a desinstaller\setup.exe ")
mais ça ne marche pas (même admin ça ne me lance pas le setup)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Lancer script utilisateur

#11

Message par jguinch »

Est-ce que la commande suivante fonctionne ?

Code : Tout sélectionner

RunAs("Administrateur", @ComputerName, "Azerty123456789", 0, "notepad.exe")
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Otacon95
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 26 mai 2014 13:58
Status : Hors ligne

Re: [..] Lancer script utilisateur

#12

Message par Otacon95 »

ça, ça marche, j'ai rajouté mon exe et ça ne change rien
Otacon95
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 26 mai 2014 13:58
Status : Hors ligne

Re: [..] Lancer script utilisateur

#13

Message par Otacon95 »

Voici en faite le code entier avec un runAs

Code : Tout sélectionner

#include <Process.au3>
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#RequireAdmin
if FileExists(@ProgramFilesDir & "\Microsoft Security Client\setup.exe") = 1 then

   RunAs("Administrateur", @ComputerName, "Azerty123456789", 0, @ProgramFilesDir & "\Microsoft Security Client\setup.exe")
   WinWaitActive("[CLASS:Microsoft Security Essentials]","", 3); on attend notre fenetre
   Send("{ENTER}"); on fait ENTER
   sleep(25000)
   Send("{ENTER}"); on fait ENTER
   
EndIf
Bayo
Niveau 4
Niveau 4
Messages : 79
Enregistré le : mer. 23 avr. 2014 10:19
Status : Hors ligne

Re: [..] Lancer script utilisateur

#14

Message par Bayo »

Est-ce que ton dossier Microsoft Security Client a les droits d'execution pour tout le monde? ou pour l'utilisateur au moins.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Lancer script utilisateur

#15

Message par jguinch »

Le produit était installé en 64 bits, setup.exe se trouve dans "c:\program files", alors que le script va chercher à l'exécuter depuis "c:\program files (x86)".
Essaies avec ça :
► Afficher le texte
Ensuite, pour le #RequireAdmin et le RunAs : si tu utilises le compte administrateur local (le vrai compte administrateur natif j'entends), tu n'auras pas besoin de #RequireAdmin car le compte administrateur est le seul à ne pas avoir le prompt de l'UAC, donc ça sera transparent.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Otacon95
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 26 mai 2014 13:58
Status : Hors ligne

Re: [..] Lancer script utilisateur

#16

Message par Otacon95 »

Le setup n'a pas les droits pour tout le monde, il necessite les droits d'admin, mais je ne souhaite pas taper le mot de passe sur des centaines de postes, mon but est de le configurer une fois et qu'il s'executer automatiquement sur tout les postes, je dois rentrer une seule fois ce qui est mot de passe et identifiant
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Lancer script utilisateur

#17

Message par jguinch »

Il faut différencier plusieurs choses dans ton problème :
- le setup ne se lance pas
- l'utilisateur ne pourra pas lancer le setup car il n'est pas administrateur.

Pour le setup qui ne se lance pas, je pense t'avoir donné la raison (et même une solution) dans mon message précédent.

Pour l'exécution du setup en mode administrateur, il faut là encore prendre deux choses en considération :
- l'exécution sous un compte administrateur
- l'UAC
Pour l'exécution en administrateur, il suffit d'utiliser RunAs.
Pour ce qui est du prompt UAC, c'est plus compliqué si tu veux le supprimer. Si tu spécifies le compte administrateur dans Runas, tu n'auras à priori pas le prompt UAC (je parle du vrai compte administrateur, pas un compte membre du groupe administrateurs local).
Si par contre tu spécifies un compte membre du groupe administrateurs, tu auras le prompt UAC.
Une méthode pour éviter le prompt est de passer par une tâche planifiée.

Donc au final, tu peux essayer simplement ça :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre