Pagina 1 di 2
[RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 25 settembre 2019 - 15:08
di olaplanche
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)
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 25 settembre 2019 - 16:05
di htouvet
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)
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 25 settembre 2019 - 16:32
di olaplanche
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?
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 25 settembre 2019 - 23:11
di vcardon
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
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 26 settembre 2019 - 08:54
di olaplanche
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
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 30 aprile 2020 - 10:23
di florentR2
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?
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 30 aprile 2020 - 10:38
di olaplanche
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!
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 30 aprile 2020 - 10:45
di florentR2
Fantastico, grazie, può essere utile anche per chi non ama l'account SYSTEM per un'installazione
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 30 aprile 2020 - 14:48
di sfontenau
Puoi provare a usare la funzione run_as_administrator?
Codice: Seleziona tutto
from common import run_as_administrator
run_as_administrator('sample.exe','--args')
Re: [RISOLTO] Eseguire come amministratore senza password (quando l'account di sistema non è sufficiente) \o/
Pubblicato: 6 maggio 2020 - 17:31
di florentR2
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.