Möglicherweise ist beim Reparieren eines Windows-Images mit DISM im Online-Modus mithilfe von WUA ein Problem aufgetreten. WAPT blockiert den Vorgang. Das Tool benötigt wahrscheinlich WSU.
Hier ist ein kleines Paket, mit dem Sie das Problem umgehen können, vorausgesetzt, Sie bereiten ein Image mit der richtigen Version vor.
Dies umfasst auch eine Schnellprüfung, um vor Systemfehlern zu warnen.
Code: Alle auswählen
# -*- coding: utf-8 -*-
from setuphelpers import *
def install():
if force:
if not isdir(r'c:\tmp'):
mkdirs(r'c:\tmp')
winver = windows_version(4)
with open(r"c:\tmp\install.wim", "wb") as file:
with WAPT.waptserver.get_requests_session(use_ssl_auth=True) as session:
with session.get("%s/%s" % (WAPT.waptserver.server_url, f"wapt/scripts/dism/{winver}.wim"),
timeout=WAPT.waptserver.timeout,
auth=None,
allow_redirects=True,
stream=True) as response:
if response.status_code == 404:
error(f'Version {winver} non gérée, merci de prendre contact avec le mainteneur')
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
print(run('DISM /Online /Cleanup-image /Scanhealth', timeout=900))
print(run(r'DISM /Online /Cleanup-image /Restorehealth /Source:wim:c:\tmp\install.wim:1 /LimitAccess', timeout=900))
print(run('sfc /scannow', timeout=900))
remove_file(r'c:\tmp\install.win')
def audit():
dism = run('DISM /Online /Cleanup-image /CheckHealth')
print(dism)
if "réparable" in dism:
return "WARNING"
else:
return("OK")
Die ursprüngliche install.wim-Datei aus einem ISO-Image abrufen
Mounten Sie die ISO-Datei unter Windows und kopieren Sie anschließend die Datei X:\Sources\install.wim
Exportieren Sie anschließend nur die Windows Pro-Version mit dem Befehl
Dism /Export-Image /SourceImageFile:"C:\install.wim" /SourceIndex:6 /DestinationImageFile:"C:\origin.wim"
Es ist auch möglich, die zuvor erstellte WIM-Datei abzurufen, sodass Aktualisierungen weniger Zeit in Anspruch nehmen
Dazu kopieren Sie einfach die alte WIM-Datei in origin.wim
Erzeugen Sie ein kumulatives Bild
Erstellen Sie gegebenenfalls den Ordner c:\mount
Bild hochladen
Mount-WindowsImage -Path C:\mount -ImagePath c:\origin.wim -Index 1
Laden Sie den Gesamtbericht herunter am https://www.catalog.update.microsoft.co ... -framework
Es wird nur eines der beiden Pakete benötigt, und zwar das größere
Füge die kumulativen Werte dem Bild hinzu
Add-WindowsPackage -path c:\mount -PackagePath C:\windows11.0-kbxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx.msu
Bild speichern
Dismount-WindowsImage -Path C:\mount -Save
Exportieren Sie das Image und geben Sie dabei die Windows-Versionsnummer an, beispielsweise 10.0.26100.7623
DISM.exe /Export-Image /SourceImageFile:c:\origin.wim /DestinationImageFile:c:\number_version_windows.wim /SourceIndex:1
Die Datei origin.wim muss neu generiert werden, bevor sie wiederverwendet werden kann
Kopieren Sie die resultierende Datei auf den Wapt-Server in /var/www/wapt/scripts/dism
Vergessen Sie nicht, die Rechte an www-data zuzuweisen
