[RESOLU] runAs administrateur sans mot de passe (quand le compte system n'est pas suffisant) \o/

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
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

25 sept. 2019 - 15:08

Je partage un truc que je viens d'arriver à faire et que je n'ai jamais vu sur le forum.

Je vous prends l'exemple de mon dernier paquet pour installer le logiciel Archiwizard v8.0.1 :
Il s'agit d'un fichier msi, le setup renvoie la mauvaise uninstallkey, donc on oublie la commande install_msi_if_needed...
Le msi ne s'installe silencieusement que sous le compte administrateur, donc on oublie la commande run vu qu'un paquet est exécuter sous le compte system...

Pour contourner tous ces problèmes, depuis le compte system il est possible d’exécuter en powershell un process en administrateur sans avoir à fournir le mot de passe ! Et le top c'est quand fournissant la bonne uninstallkey dans le paquet récupérée avec la commande "wapt-get list-registry archiwizard", l'uninstall de l'appli fonctionne correctement.

Place au code de mon paquet :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = ['{AF474B4B-28ED-4AAE-A623-BB78E4D4AEC7}']

def install():
    print('installing wapt-archiwizard')
    run_powershell('Start-Process msiexec.exe -Wait -ArgumentList "/I %s\ArchiWIZARD-2020-x64(8.0.1).msi /quiet" -verb runAs' % basedir)

- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

25 sept. 2019 - 16:05

Merci, très intéressant...

un petit correctif :
ajouter un "r" devant la commande powershell car il ya des backslashs qui pourraient être interprétés.

Code : Tout sélectionner

    run_powershell(r'Start-Process msiexec.exe -Wait -ArgumentList "/I %s\ArchiWIZARD-2020-x64(8.0.1).msi /quiet" -verb runAs' % basedir)

Tranquil IT
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

25 sept. 2019 - 16:32

ok merci.

Je cherche maintenant à créer une clé de registre dans le session setup pour l'activation du logiciel :

Code : Tout sélectionner

def session_setup():
    registry_set(HKEY_CURRENT_USER,makepath('Software','Graitec','License Manager'),'GRAITEC_LICENSE_FILE',r'7621@servername;',type=REG_SZ)
Seulement la clé "Graitec" est existante, il faut donc créer la clé "License Manager" puis la valeur reg_sz "GRAITEC_LICENSE_FILE".
Mon code ne fonctionne pas, avez vous une idée ?
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
Avatar de l’utilisateur
vcardon
Expert WAPT
Messages : 248
Inscription : 06 oct. 2017 - 22:55
Localisation : Nantes, FR

25 sept. 2019 - 23:11

Olivier,

Ca fait super plaisir de voir comment vous avez progressé avec l'outil et que vous prenez une partie du temps que vous économisez avec l'outil aujourd'hui pour partager des trucs super astucieux avec d'autres.

Chez Tranquil IT, on est très logiciels libres, même si on est bien conscient qu'il est difficile de vivre d'un modèle strictement libre et communautaire.

Voir votre initiative de partage d'expérience nous aide à nous rassurer que nous faisons quelque chose d'utile et que nous parvenons à embarquer des personnes intéressées et motrices dans l'aventure.

Cordialement.

Vincent
Vincent CARDON
Tranquil IT
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

26 sept. 2019 - 08:54

J'ai résolu le problème de registre, j'oublie toujours d'ajouter un r devant la chaine de caractère pour éviter que certains caractères soient interprétés (l'espace dans mon cas).

Code définitif du paquet :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = ['{AF474B4B-28ED-4AAE-A623-BB78E4D4AEC7}']

def install():
    print('installing wapt-archiwizard')
    run_powershell(r'Start-Process msiexec.exe -Wait -ArgumentList "/I %s\ArchiWIZARD-2020-x64(8.0.1).msi /quiet" -verb runAs' % basedir)


def session_setup():
    registry_set(HKEY_CURRENT_USER,r'Software\\Graitec\\License Manager','GRAITEC_LICENSE_FILE','serverport@servername;',type=REG_SZ)
En réponse à vcardon :

C'est avec plaisir que je partage mes trouvailles, je suis fan du produit wapt et j'adhère à votre modèle libre et communautaire.
Au plaisir de rencontrer l'équipe au rdv des AdminSys à Toulouse le 17 octobre :)

Merci
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
florentR2
Messages : 94
Inscription : 13 févr. 2020 - 17:23

30 avr. 2020 - 10:23

Code : Tout sélectionner

run_powershell(r'Start-Process msiexec.exe -Wait -ArgumentList "/I %s\ArchiWIZARD-2020-x64(8.0.1).msi /quiet" -verb runAs' % basedir)
Bonjour,
Ce cas m'interesse vraiment.
Avec l'options powershell runAs cela lance en tant qu'administrateur sans demander aucune autre infos ni mot de passe ?
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

30 avr. 2020 - 10:38

Oui aussi étrange que cela puisse paraitre ça fonctionne sans avoir fournir le mot de passe du compte admin...
Pour être plus précis ça fonctionne lorsque la commande powershell est exécutée par le compte system, évidemment que ça ne fonctionne pas depuis un compte utilisateur.
J'ai résolu tous mes problèmes de vieux logiciels ne s'installant pas correctement avec le compte system comme ça et jusqu'à ce jour ça a fonctionné à chaque fois !
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
florentR2
Messages : 94
Inscription : 13 févr. 2020 - 17:23

30 avr. 2020 - 10:45

Cool merci ça peut aussi dépanner qui aime pas le compte SYSTEM pour une install
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1787
Inscription : 10 juil. 2014 - 23:52
Contact :

30 avr. 2020 - 14:48

Pouvez-vous essayer avec la fonction run_as_administrator ?

Code : Tout sélectionner

from common import run_as_administrator

run_as_administrator('sample.exe','--args')
florentR2
Messages : 94
Inscription : 13 févr. 2020 - 17:23

06 mai 2020 - 17:31

sfonteneau a écrit : 30 avr. 2020 - 14:48 Pouvez-vous essayer avec la fonction run_as_administrator ?
Pour le test que je fait (Autocad 2020) la commande marche bien sur la machine de packaging si je teste le package.
Par contre je n'arrive toujours pas à déployer le logiciel sur une machine.
Le problème est peut etre ailleurs je vais faire un nouveau sujet ce sera surement mieux.
Verrouillé