"Auto-migrazione" (disinstallazione/reinstallazione) tramite la funzione audit() e il contesto di sistema

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
Risposta
i551f
Messaggi: 1
Registrazione: 25 novembre 2025 - 11:50

25 novembre 2025 - 12:05

Ciao a tutti,

Attualmente sto lavorando a uno script per standardizzare il nostro inventario software. Il mio obiettivo è identificare periodicamente i software installati manualmente (al di fuori di WAPT) e, se corrispondono a un pacchetto nel nostro store, forzarne la disinstallazione e reinstallarli correttamente tramite WAPT.

Avevo pensato di utilizzare la funzione audit() per questa attività, con una logica come questa:

Codice: Seleziona tutto

def audit():
    # ... logique de détection ...
    if logiciel_hors_wapt_detecte:
        # Tentative de désinstallation
        run(WAPT.uninstall_cmd(app["msi_product_code"]))
        return "ERROR" # Pour déclencher une réinstallation ?
    return "OK"
Tuttavia, ho dei dubbi sulla pertinenza e sulla fattibilità tecnica di questo metodo e vorrei confermare la mia intuizione con voi:

Contesto di esecuzione: audit() viene eseguito dal servizio WAPT (sistema locale). Se il comando di disinstallazione richiama un'interfaccia grafica (anche una semplice conferma), immagino che fallirà o si bloccherà perché il servizio non riesce a interagire con la sessione utente (problema della sessione 0)?

Interazione dell'utente: Allo stesso modo, immagino che l'utilizzo di waptguihelper per avvisare l'utente sia vietato durante l'audit per le stesse ragioni?

È consigliabile apportare modifiche "pesanti" (disinstallazione) nell'audit() oppure l'audit dovrebbe semplicemente segnalare uno stato "ERRORE"?

Se audit() non è la soluzione giusta, qual è la procedura migliore per questo scenario? Esiste un altro meccanismo consigliato (session_setup())?

Sinceramente
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

25 novembre 2025 - 12:27

Buongiorno
i551f ha scritto: 25 nov 2025 - 12:05 Salve a tutti,

sto lavorando a uno script per standardizzare il nostro software. Il mio obiettivo è identificare periodicamente il software installato manualmente (al di fuori di WAPT) e, se corrisponde a un pacchetto del nostro store, forzarne la disinstallazione e reinstallarlo correttamente tramite WAPT.
Il modo più semplice è disinstallarlo dal pacchetto wapt.

Se installi squadre
Se il pacchetto WAPT Teams non è installato, installalo. (Il pacchetto di installazione di WAPT Teams disinstallerà Teams o correggerà l'installazione di Teams, se necessario.)

Per quanto riguarda la questione dell'interfaccia utente grafica, si tratta di un problema più ampio: la disinstallazione deve essere silenziosa. Sebbene sia possibile reindirizzare la visualizzazione di un account di sistema a una sessione utente standard, questo rappresenta chiaramente un rischio significativo per la sicurezza. Pertanto, è necessario trovare un metodo per eseguire una disinstallazione silenziosa.
Avatar utente
vcardon
Esperto WAPT
Messaggi: 272
Registrazione: 06/10/2017 - 22:55
Posizione: Nantes, Francia

25 novembre 2025 - 19:48

Inoltre, i551f, il tuo obiettivo dovrebbe essere anche quello di capire come e perché gli utenti continuano a installare software autonomamente.

Se attualmente sono in grado di installare/eseguire software non supportato da WAPT, la prima soluzione è rimuovere i diritti di amministratore e applicare le SRP alle loro directory home.

Altrimenti, perderai tempo a cercare di risolvere un problema inesistente, e WAPT servirà solo a mettere una pezza a una ferita infetta che si sta allargando.
Vincent CARDON
Tranquillo IT
Risposta