executer un script AutoIT en tant qu'Administrateur local ?

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

13 juin 2018 - 16:55

Bonjour,

J'avance bien sur WAPT et la création de paquet ainsi que la modification de paquet existant.

Dans un cadre pédagogique, je dois installer une application nécessitant, à son premier démarrage (et uniquement à ce moment là), d'insérer un nom, organisation et un numéro de série.

J'ai testé divers choses sans résultat pour l'instant :
- regShot avant et après insertion du serial puis export vers un .reg
- exécution du .reg silencieusement après installation (via le def install() dans le paquet WAPT) : le logiciel ne s'active pas ... il doit peut-être y avoir d'autres modifications / créations de fichiers une fois la licence insérée.

Autre test : via autoit
- installation de l'application via WAPT
- dans le "def install()" de WAPT, exécution d'un script autoit pour démarrer l'application et simuler des saisies clavier ...
L'installation du programme fonctionne bien mais le "souci" est que le script autoit est exécuté via le compte Système ... et le programme, si démarré en compte Système, ne semble pas prendre en compte le script.

Dans mon script autoit, j'ai forcé le lancement du programme en tant qu'Administrateur Local.
Il apparaît bien dans les processus mais mon script autoIT (lancé en compte SYS) ne bouge pas ...
En gros, je me retrouve avec un programme lancé en Administrateur local et un script en attente lancé en tant que compte SYS.
En lançant les deux en compte SYS, pas mieux ...

Je n'ai trouvé aucune option dans le script python pour demandé un lancement du script en tant qu'administrateur ....

Après, peut-être qu'il existe une méthode plus simple ... ?

PS : en installant le logiciel de manière classique PUIS en exécutant mon script autoIT à la main (compte Administrateur du coup), l'activation réussie ...

Merci pour vos pistes ;)
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

14 juin 2018 - 13:45

Bonjour,
J'ai pu prendre contact avec l'éditeur du logiciel qui vient de me proposer un fichier licence adapté à ma licence et mon établissement.
Donc un copier / coller du fichier licence au bon endroit devrait être OK (via def install()).

Je fais des essais et je vous ferais un feedback ;)
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

14 juin 2018 - 15:56

Toujours pas ... l'éditeur m'a bien fourni un fichier licence ... mais il faut qu'il soit lancé une fois pour s'activer ... pire, il ouvre une boite de dialogue ... qu'il faut annuler pour enfin voir que le logiciel est activé . . . .... je poursuis mes recherches mais je commence à être à court d'idées :roll:
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

14 juin 2018 - 18:13

Deux solution qui fonctionne peu être ? :

Créer une tache planifier "interactive" qui lance l'installation, a mon avis l'émulation clavier fonctionne a l’intérieur.
Autre solution peu être:

Créer un service windows "interactif" qui lance l'installation, puis le lancer .

Dans les deux ces deux solution sont très moche ...

Je ne parviens pas non plus a faire un runas en compte system ni a utiliser psexec en compte system.

Un autre solution:

J'ai déjà vu un copain le faire.

Intégrer dans autoit l’identifiant mot de passe administrateur (je sais que c'est possible)
Lancer l'installation du autoit dans un session_setup l'autoit se lancera automatiquement en administrateur donc.

Par contre ... il est simple de récupérer le mot de passe dans l'autoit ...

Simon
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

15 juin 2018 - 08:49

Merci pour les pistes ...

J'ai une idée en tête mais je ne sais pas si c'est faisable avec WAPT :
- installation silencieuse du programme via WAPT (compte SYS)
- dans le paquet WAPT, def install() : création d'une tache planifiée interactive au login du compte Administrateur
- dans cette tache, ouverture du fichier autoit lançant le programme + simulation clavier
- toujours dans l'autoIT : suppression de la tache planifiée administrateur + suppression du fichier autoIT lui-même ... + reboot

Peut-être qu'avec un session setup, c'est plus simple ? (j'ai pas encore testé le session setup ...)

Qu'en pensez-vous ?
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

15 juin 2018 - 09:41

Je viens de faire un essai avec le session_setup : cela fonctionne bien pour mon Administrateur local ... mais le souci est que cela s’exécute aussi pour mes utilisateurs du domaine.

L'idéal serait de pouvoir lancer le session setup une fois pour l'Administrateur et c'est tout.

Il est bien précisé sur la doc que "Le session_setup de chaque paquet n’est exécuté qu”une seule fois par paquet ou version de paquet et par profil utilisateur" ... me faut trouver une astuce pour désactiver le session_setup après qu'il soit lancé par l'Administrateur .....

Actuellement dans mon session_setup() :

Code : Tout sélectionner

run(r'....\fichier_autoIT_activation_logiciel)
Objectif final : session_setup():

Code : Tout sélectionner

run(r'....\fichier_autoIT_activation_logiciel)
"desactiver le session_setup"
"suppression du fichier fichier_autoIT_activation_logiciel"
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

15 juin 2018 - 11:13

Le plus simple, faire un condition dans le session setup.

Code : Tout sélectionner

if get_current_user() == u'Administrateur':
         run(r'....\fichier_autoIT_activation_logiciel)
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

15 juin 2018 - 16:51

Piouuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuffffffffff, j'ai enfin réussi !

Merci pour l'astuce du session_setup et du get_current_user() ;)

Dans mon def install(), j'installe le logiciel.

Dans le session_setup():

Code : Tout sélectionner

if get_current_user() == u'Administrateur':
         run(r'....\fichier_autoIT_activation_logiciel)
         delete_ay_next_reboot("C:\xxxxx\fichier_autoIT_activation_logiciel")
J'ai appris pas mal de choses du coup avec tout ça :)
J'ai un second logiciel dans le même genre, je vais reprendre ça et voir le résultat.

Résolu !
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Verrouillé