Verwendung der WaptWUA-Klasse in einem Skript

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
Smoking
Nachrichten: 65
Anmeldung: 05.09.2023 - 09:44 Uhr

3. Juli 2026 - 11:26 Uhr

Guten Morgen,

Ich habe ein Audit-Skript, das nachts während eines bestimmten Zeitraums eine Reihe von Operationen durchführt.
Ein Teil dieses Skripts verwaltet Windows-Updates.

Wir haben soeben das Update (Version 2.6.1.17384) durchgeführt und mein Skript funktioniert nicht mehr.
Das Ziel ist es, dasselbe zu erreichen wie mit "wapt-get waptwua-install", jedoch ohne geplante Aufgabe.

Hier ist der Codeabschnitt, der mir Probleme bereitet:

Code: Alle auswählen

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

def audit():
	with EnsureWUAUServRunning():
            wua_client = WaptWUA(WAPT)
            wua_client.install_updates()
Folgende Fehlermeldung erhalte ich:

Code: Alle auswählen

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)>:
Können Sie mir helfen, dieses Skript anzupassen?
WAPT Enterprise Edition 2.6.1.17765,
WAPTConsole Enterprise unter Windows,
WAPT Server unter Debian 12
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 438
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

3. Juli 2026 – 16:35 Uhr

Ah... vielleicht ein Rückschritt

Können Sie das Skript ausprobieren, indem Sie pythoncom.CoInitialize() hinzufügen?

Code: Alle auswählen

# -*- 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()
Ruhige IT
Smoking
Nachrichten: 65
Anmeldung: 05.09.2023 - 09:44 Uhr

3. Juli 2026 – 17:03 Uhr

Ich habe einen anderen Fehler:

Code: Alle auswählen

Exception at 7343A590: EAccessViolation:
Access violation.
WAPT Enterprise Edition 2.6.1.17765,
WAPTConsole Enterprise unter Windows,
WAPT Server unter Debian 12
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 438
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

3. Juli 2026 – 18:59 Uhr

Sind Sie sicher, dass Sie die neueste Version (2.6.1.17834) verwenden?
Ich habe einen Test durchgeführt, konnte den Zugriffsfehler aber nicht reproduzieren.
Allerdings hängen diese Zugriffsfehler häufig vom vorherigen Speicherzustand ab.
Ruhige IT
Smoking
Nachrichten: 65
Anmeldung: 05.09.2023 - 09:44 Uhr

6. Juli 2026 - 09:08 Uhr

Guten Morgen,

Ja, ich verwende tatsächlich Version 2.6.1.17834, meine Signatur habe ich noch nicht aktualisiert.
Ich habe es heute Morgen auf meinem neu eingerichteten Rechner getestet und habe dasselbe Problem.

Kann der Aufruf der Funktion pythoncom.CoUninitialize() Auswirkungen auf PyScripter haben?

Code: Alle auswählen

Scanning with windows updates rules:
{
 "direct_download":false,
 "default_allow":false,
 "include_potentially_superseded_updates":false,
 "filter":"Type='Software' or Type='Driver'",
 "download_scheduling":"12h",
 "install_scheduling":"6h",
 "install_delay":null,
 "postboot_delay":"10m",
 "user_locale":1033
}
Bypassing scan, no change since last successful scan
Exception at 728BA590: EAccessViolation:
Access violation.
>>> 
*** Remote Interpreter Reinitialized ***
>>> 
WAPT Enterprise Edition 2.6.1.17765,
WAPTConsole Enterprise unter Windows,
WAPT Server unter Debian 12
Antwort