problème avec la fonction wmi_info()

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
brice73
Messages : 41
Inscription : 13 févr. 2023 - 08:05

17 avr. 2026 - 15:25

Bonjour,

J'ai installé le paquet tis-audi-wmi, et celui-ci fonctionne bien et remonte bien les informations wmi dans les données d'audit.

Dans des paquets wapt, il m'arrivait d'utiliser la fonction wmi_info(), hors maintenant quand je la teste dans pyscripter, elle échoue systématiquement avec les mêmes erreurs :

Code : Tout sélectionner

*** Python 3.10.19 (main, Jan 29 2026, 18:58:30) [MSC v.1929 32 bit (Intel)] on win32. ***
*** Distant Python engine is active ***
>>> from setuphelpers import *
>>> wmi_info_test1=wmi_info(keys=['Win32_ComputerSystem','Win32_ComputerSystemProduct','Win32_BIOS'])
WMI error Invalid value for list argument, fallback to py wmi
>>> wmi_info_test1=wmi_info(keys=['Win32_ComputerSystem','Win32_ComputerSystemProduct','Win32_BIOS'])
WMI error Invalid value for list argument, fallback to py wmi
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)>
>>> wmi_info_test2=wmi_info(keys=['Win32_NetworkAdapter','Win32_PhysicalMemory','Win32_Printer','Win32_VideoController'])
WMI error Invalid value for list argument, fallback to py wmi
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)>
>>> 
Cela se produit sur différents postes, donc indépendamment de la version de Windows

J'utilise pourtant bien la bonne syntaxe et les valeurs attendues pour le paramètre keys, similaire à celle de la fonction d'audit du paquet :

Code : Tout sélectionner

def audit():

    wmi_keys = ['Win32_ComputerSystem','Win32_ComputerSystemProduct','Win32_BIOS',
    'Win32_NetworkAdapter','Win32_PhysicalMemory','Win32_Printer','Win32_VideoController',
    'Win32_LogicalDisk','Win32_OperatingSystem','Win32_DesktopMonitor',
    'Win32_USBController','Win32_SystemEnclosure','Win32_DiskDrive',
    'Win32_Volume','Win32_PnPSignedDriver']

    data_wmi_info = wmi_info(keys = wmi_keys)
    WAPT.write_audit_data_if_changed("audit-wmi", "audit-wmi", data_wmi_info)
    return "OK
J'ai vérifié que wmi était correct (winmgmt /verifyrepository OK) et le paquet audi-wmi récupère bien les informations wmi.

Voyez-vous quelle est la cause du problème ? J'aimerais pouvoir utiliser la fonction wmi_info() très pratique dans des paquets et qui recense beaucoup de données.
WAPT Entreprise 2.6.1.17765
serveur WAPT sous Debian 13
Administration/création de paquets sous Windows 11/10
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1899
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

17 avr. 2026 - 16:17

Bonjour Brice,

de mémoire il y a eu des changements au niveau de la récupération des info wmi pour mieux gérer les pb de gen_py (la création des fichier de stub python pour appeler les objets com, notamment wmi) et autres problèmes de CoInitialize (un truc microsoft pour les objects COM aussi). Je vais voir en interne ce qu'il en est.

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
brice73
Messages : 41
Inscription : 13 févr. 2023 - 08:05

17 avr. 2026 - 16:50

Bonjour Denis,

Entendu, merci! :)

Cordialement
WAPT Entreprise 2.6.1.17765
serveur WAPT sous Debian 13
Administration/création de paquets sous Windows 11/10
Répondre