[RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

25 settembre 2019 - 15:08

Voglio condividere qualcosa che sono appena riuscito a fare e che non avevo mai visto sul forum.

Vorrei farvi un esempio del mio ultimo pacchetto per l'installazione del software Archiwizard v8.0.1:
Questo è un file MSI; il programma di installazione restituisce la chiave di disinstallazione errata, quindi possiamo dimenticare il comando install_msi_if_needed...
Il file MSI viene installato in modo invisibile all'utente solo con l'account amministratore, quindi possiamo dimenticarci del comando `run` poiché un pacchetto viene eseguito con l'account di sistema...

Per aggirare tutti questi problemi, dall'account di sistema è possibile eseguire un processo come amministratore in PowerShell senza dover fornire la password! E la parte migliore è che quando si fornisce la chiave di disinstallazione corretta nel pacchetto recuperato con il comando "wapt-get list-registry archiwizard", la disinstallazione dell'applicazione funziona correttamente.

Ecco il codice per il mio pacchetto:

Codice: Seleziona tutto

# -*- 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)

- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
Avatar utente
htouvet
Esperto WAPT
Messaggi: 436
Registrazione: 16 marzo 2015 - 10:48
Contatto:

25 settembre 2019 - 16:05

Grazie, molto interessante...

Una piccola correzione:
aggiungere una "r" prima del comando PowerShell perché ci sono delle barre rovesciate che potrebbero essere interpretate male.

Codice: Seleziona tutto

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

Tranquillo IT
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

25 settembre 2019 - 16:32

Ok, grazie.

Ora sto provando a creare una chiave di registro nella configurazione della sessione per l'attivazione del software:

Codice: Seleziona tutto

def session_setup():
    registry_set(HKEY_CURRENT_USER,makepath('Software','Graitec','License Manager'),'GRAITEC_LICENSE_FILE',r'7621@servername;',type=REG_SZ)
Esiste solo la chiave "Graitec", quindi è necessario creare la chiave "License Manager", seguita dal valore reg_sz "GRAITEC_LICENSE_FILE".
Il mio codice non funziona, hai qualche idea?
- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
Avatar utente
vcardon
Esperto WAPT
Messaggi: 273
Registrazione: 06/10/2017 - 22:55
Posizione: Nantes, Francia

25 settembre 2019 - 23:11

Olivier,

è fantastico vedere i tuoi progressi con lo strumento e come tu stia usando parte del tempo che risparmi grazie ad esso per condividere questi utili consigli con gli altri. Noi

di Tranquil IT siamo grandi sostenitori del software libero, pur essendo ben consapevoli di quanto sia difficile guadagnarsi da vivere con un modello esclusivamente gratuito e basato sulla comunità.

Vedere la tua iniziativa di condividere la tua esperienza ci rassicura sul fatto che stiamo facendo qualcosa di utile e che riusciamo a coinvolgere persone interessate e motivate nel progetto.

Cordiali saluti,

Vincent
Vincent CARDON
Tranquillo IT
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

26 settembre 2019 - 8:54

Ho risolto il problema del registro: dimentico sempre di aggiungere una r davanti alla stringa per evitare che determinati caratteri vengano interpretati (nel mio caso lo spazio).

Codice del pacchetto finale:

Codice: Seleziona tutto

# -*- 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)
In risposta a vcardon:

Condivido con piacere le mie scoperte, sono un fan del prodotto wapt e sostengo il vostro modello gratuito e basato sulla comunità.
Non vediamo l'ora di incontrare il team all'evento AdminSys a Tolosa il 17 ottobre :)

GRAZIE
- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
florentR2
Messaggi: 100
Iscrizioni: 13 febbraio 2020 - ore 17:23

30 aprile 2020 - 10:23

Codice: Seleziona tutto

run_powershell(r'Start-Process msiexec.exe -Wait -ArgumentList "/I %s\ArchiWIZARD-2020-x64(8.0.1).msi /quiet" -verb runAs' % basedir)
Buongiorno,
Questo caso mi interessa davvero.
Con l'opzione PowerShell eseguiCome Si avvia come amministratore senza richiedere altre informazioni o password?
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

30 aprile 2020 - 10:38

Sì, per quanto strano possa sembrare, funziona anche senza inserire la password dell'account amministratore...
Per essere più precisi, funziona quando il comando PowerShell viene eseguito dall'account di sistema; ovviamente, non funziona da un account utente.
Ho risolto tutti i miei problemi con i vecchi software che non si installavano correttamente utilizzando l'account di sistema in questo modo, e da allora ha sempre funzionato!
- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
florentR2
Messaggi: 100
Iscrizioni: 13 febbraio 2020 - ore 17:23

30 aprile 2020 - 10:45

Fantastico, grazie, può essere utile anche per chi non ama l'account SYSTEM per un'installazione
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

30 aprile 2020 - 14:48

Puoi provare a usare la funzione run_as_administrator?

Codice: Seleziona tutto

from common import run_as_administrator

run_as_administrator('sample.exe','--args')
florentR2
Messaggi: 100
Iscrizioni: 13 febbraio 2020 - ore 17:23

6 maggio 2020 - 17:31

sfonteneau ha scritto: 30 aprile 2020 - 14:48 Puoi provare con la funzione run_as_administrator?
Per il test che sto eseguendo (Autocad 2020) il comando funziona correttamente sulla macchina per l'imballaggio se testo la confezione.
Tuttavia, non riesco ancora a distribuire il software su una macchina.
Il problema potrebbe essere altrove; aprirò una nuova discussione, che probabilmente sarà migliore.
Bloccato