Utilisation de la class WaptWUA dans un script

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
tux
Messages : 64
Inscription : 05 sept. 2023 - 09:44

03 juil. 2026 - 11:26

Bonjour,

J'ai un script d'audit qui effectue un certain nombre d'opérations pendant une plage horaire, la nuit.
Une partie de ce script gère les mises à jour de Windows.

Nous venons d'effectuer la mise à jour (version 2.6.1.17384) et mon script ne fonctionne plus.
L'objectif est de faire la même chose qu'un « wapt-get waptwua-install » sans tâche planifiée.

Voici la portion de code qui me pose problème :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *
from waptwua.client import WaptWUA

def audit():
	with EnsureWUAUServRunning():
            wua_client = WaptWUA(WAPT)
            wua_client.install_updates()
Voici l'erreur que j'obtiens :

Code : Tout sélectionner

2026-07-03 10:53:13,522 ERROR ERROR installing update: 0x800401f0 : CoInitialize n’a pas été appelé.
2026-07-03 10:53:13,768 CRITICAL Unable to build status data for key host_networking: x_wmi_uninitialised_thread("WMI returned a syntax error: you're probably running inside a thread without first calling pythoncom.CoInitialize[Ex]")
2026-07-03 10:53:13,773 CRITICAL WMI is broken on this computer. See https://techcommunity.microsoft.com/t5/ask-the-performance-team/wmi-rebuilding-the-wmi-repository/ba-p/373846 : x_wmi_uninitialised_thread: <x_wmi: WMI returned a syntax error: you're probably running inside a thread without first calling pythoncom.CoInitialize[Ex] (no underlying exception)>
[]
re-enabling wuauserv previous state: 0
2026-07-03 10:53:14,246 CRITICAL Fatal error in audit function: x_wmi_uninitialised_thread: <x_wmi: WMI returned a syntax error: you're probably running inside a thread without first calling pythoncom.CoInitialize[Ex] (no underlying exception)>:
Pouvez-vous m'aider à adapter ce script?
Wapt Edition Entreprise 2.6.1.17765
WAPTConsole Entreprise sur Windows
Serveur WAPT sur Debian 12
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 438
Inscription : 16 mars 2015 - 10:48
Contact :

03 juil. 2026 - 16:35

Ah... peut être une régression

Pouvez-vous essayer le script en ajoutant un pythoncom.CoInitialize()

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *
from waptwua.client import WaptWUA
import pythoncom

def audit():
    try:
        pythoncom.CoInitialize()
    	with EnsureWUAUServRunning():
                wua_client = WaptWUA(WAPT)
                wua_client.install_updates()
    finally:
        pythoncom.CoUninitialize()
Tranquil IT
tux
Messages : 64
Inscription : 05 sept. 2023 - 09:44

03 juil. 2026 - 17:03

J'ai une erreur différente :

Code : Tout sélectionner

Exception at 7343A590: EAccessViolation:
Access violation.
Wapt Edition Entreprise 2.6.1.17765
WAPTConsole Entreprise sur Windows
Serveur WAPT sur Debian 12
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 438
Inscription : 16 mars 2015 - 10:48
Contact :

03 juil. 2026 - 18:59

Vous êtes bien sur la dernière 2.6.1.17834 ?
J'ai fait un test mais n'ai pas reproduit la violation d'accès.
Mais souvent ces erreurs "Access violation" sont dépendantes de l'état précédent de la mémoire.
Tranquil IT
Répondre