Es posible que haya tenido un problema al reparar una imagen de Windows con DISM en modo en línea usando WUA. WAPT está bloqueando la operación. Es probable que la herramienta necesite usar WSU.
Aquí hay un pequeño paquete que le permite evitar el problema, siempre que prepare una imagen con la versión correcta.
Esto también incluye una auditoría rápida para advertir sobre la corrupción del sistema.
Código: Seleccionar todo
# -*- 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")
Recuperar el archivo install.wim original de una imagen ISO
Monte la ISO en Windows y luego copie el archivo X:\Sources\install.wim
Luego exporte solo la versión Windows Pro usando el comando
Dism /Exportar-Imagen /ArchivoImagenOrigen:"C:\install.wim" /ÍndiceOrigen:6 /ArchivoImagenDestino:"C:\origin.wim"
También es posible recuperar el archivo WIM generado previamente para que las actualizaciones tarden menos tiempo
Para hacer esto, simplemente copie el archivo wim antiguo a origin.wim
Generar una imagen acumulativa
Si es necesario, cree la carpeta c:\mount
Subir imagen
Mount-WindowsImage -Ruta C:\mount -RutaImagec:\origin.wim -Índice 1
Descargar el informe acumulado sobre https://www.catalog.update.microsoft.co ... -marco
Sólo se necesita uno de los dos paquetes, el más grande
Añade el acumulativo a la imagen
Agregar-PaqueteDeWindows -ruta c:\montaje -RutaDePaquete C:\windows11.0-kbxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx.msu
Salvar el imagen
Desmontar-WindowsImage -Ruta C:\mount -Guardar
Exporte la imagen, especificando el número de versión de Windows, por ejemplo 10.0.26100.7623
DISM.exe /Exportar-Imagen /ArchivoImagenOrigen:c:\origin.wim /ArchivoImagenDestino:c:\number_version_windows.wim /ÍndiceOrigen:1
El archivo origin.wim debe regenerarse antes de poder usarse nuevamente
Copie el archivo resultante al servidor Wapt en /var/www/wapt/scripts/dism
Recuerde asignar los derechos a www-data
