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"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
