Pagina 1 di 1

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

Pubblicato: 25 novembre 2025 - 12:05
di i551f
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

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

Pubblicato: 25 novembre 2025 - 12:27
di sfontenau
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.

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

Pubblicato: 25 novembre 2025 - 19:48
di vcardon
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.