Problem mit der Funktion wmi_info()

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Antwort
brice73
Nachrichten: 42
Anmeldung: 13. Februar 2023 – 8:05 Uhr

17. April 2026 – 15:25 Uhr

Guten Morgen,

Ich habe das tis-audi-wmi-Paket installiert, und es funktioniert einwandfrei und meldet WMI-Informationen korrekt in den Auditdaten.

In wapt-Paketen habe ich früher die Funktion wmi_info() verwendet, aber wenn ich sie jetzt in pyscripter teste, schlägt sie immer mit denselben Fehlern fehl:

Code: Alle auswählen

*** 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)>
>>> 
Dieses Problem tritt auf verschiedenen Rechnern auf, daher unabhängig von der Windows-Version

Ich verwende jedoch die korrekte Syntax und die erwarteten Werte für den Parameter „keys“, ähnlich denen der Audit-Funktion des Pakets:

Code: Alle auswählen

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
Ich habe überprüft, dass wmi korrekt ist (winmgmt /verifyrepository OK) und das audi-wmi-Paket wmi-Informationen korrekt abruft.

Erkennen Sie das Problem? Ich möchte die sehr praktische Funktion wmi_info() in Paketen verwenden können, die eine große Menge an Daten sammelt.
WAPT Enterprise 2.6.1.17765
WAPT-Server unter Debian 13
Administration/Paketerstellung unter Windows 11/10
Benutzeravatar
dcardon
WAPT-Experte
Nachrichten: 1953
Anmeldung: 18. Juni 2014 - 09:58 Uhr
Ort: Saint Sébastien sur Loire
Kontakt:

17. April 2026 – 16:17 Uhr

Hallo Brice,

wenn ich mich recht erinnere, gab es Änderungen bei der Art und Weise, wie WMI-Informationen abgerufen werden, um gen_py-Probleme (die Erstellung von Python-Stub-Dateien zum Aufruf von COM-Objekten, insbesondere WMI) und andere CoInitialize-Probleme (ebenfalls eine Microsoft-Funktion für COM-Objekte) besser zu handhaben. Ich werde intern nachfragen, was da los ist.

Viele Grüße,

Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
brice73
Nachrichten: 42
Anmeldung: 13. Februar 2023 – 8:05 Uhr

17. April 2026 – 16:50 Uhr

Hallo Denis,

verstanden, danke! :)

Beste Grüße
WAPT Enterprise 2.6.1.17765
WAPT-Server unter Debian 13
Administration/Paketerstellung unter Windows 11/10
brice73
Nachrichten: 42
Anmeldung: 13. Februar 2023 – 8:05 Uhr

22. April 2026 - 10:21 Uhr

Hallo Denis,

nur kurz zur Bestätigung: Die Funktion `wmi_info()` scheint innerhalb der Installationsfunktion eines Pakets zu funktionieren (sie gibt das WMI-Informationswörterbuch zurück).

Die Funktion `wmi_info()` funktioniert also im Kontext der Installation oder Überprüfung eines Pakets, aber nicht außerhalb davon (z. B. in PyScripter außerhalb einer Paketinstallation).

Viele Grüße,
WAPT Enterprise 2.6.1.17765
WAPT-Server unter Debian 13
Administration/Paketerstellung unter Windows 11/10
Antwort