Page 1 sur 1

problème avec la fonction wmi_info()

Publié : 17 avr. 2026 - 15:25
par brice73
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.

Re: problème avec la fonction wmi_info()

Publié : 17 avr. 2026 - 16:17
par dcardon
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

Re: problème avec la fonction wmi_info()

Publié : 17 avr. 2026 - 16:50
par brice73
Bonjour Denis,

Entendu, merci! :)

Cordialement