[RESOLU] Utilisation de dism avec WUA
Publié : 18 févr. 2026 - 16:23
Bonjour,
Vous avez peut-être eu un problème pour réparer une image Windows avec dism en mode Online avec WUA. WAPT bloque l'action. L'outil doit sans doute passer par WSU.
Voici un petit paquet qui permet de contourner le problème sous réserve de préparer une image avec la bonne version.
Avec aussi un audit rapide pour avertir d'une corruption du système.
Et la procédure
Récupérer l'install.wim original depuis une iso
Monter l'iso sous Windows puis copier le fichier X:\Sources\install.wim
Exporter ensuite uniquement la version Windows Pro avec la commande
Dism /Export-Image /SourceImageFile:"C:\install.wim" /SourceIndex:6 /DestinationImageFile:"C:\origin.wim"
Il est aussi possible de récupérer le wim généré avant pour que les mises à jour prennent moins de temps
Pour cela, copier juste l'ancien wim en origin.wim
Générer une image cumulative
Si nécessaire créer le dossier c:\mount
Monter l'image
Mount-WindowsImage -Path C:\mount -ImagePath c:\origin.wim -Index 1
Télécharger la cumulative sur https://www.catalog.update.microsoft.co ... -framework
Un seul des deux paquets est nécessaire, celui le plus gros
Ajouter la cumulative à l'image
Add-WindowsPackage -path c:\mount -PackagePath C:\windows11.0-kbxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxx.msu
Sauvegarder l'image
Dismount-WindowsImage -Path C:\mount -Save
Exporter l'image en indiquant le numéro de version Windows exemple 10.0.26100.7623
DISM.exe /Export-Image /SourceImageFile:c:\origin.wim /DestinationImageFile:c:\numero_version_windows.wim /SourceIndex:1
Le fichier origin.wim doit être régénéré pour être utilisé à nouveau
Copier le fichier obtenu sur le serveur wapt dans /var/www/wapt/scripts/dism
Pensez à attribuer les droits à www-data
Vous avez peut-être eu un problème pour réparer une image Windows avec dism en mode Online avec WUA. WAPT bloque l'action. L'outil doit sans doute passer par WSU.
Voici un petit paquet qui permet de contourner le problème sous réserve de préparer une image avec la bonne version.
Avec aussi un audit rapide pour avertir d'une corruption du système.
Code : Tout sélectionner
# -*- 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")
Récupérer l'install.wim original depuis une iso
Monter l'iso sous Windows puis copier le fichier X:\Sources\install.wim
Exporter ensuite uniquement la version Windows Pro avec la commande
Dism /Export-Image /SourceImageFile:"C:\install.wim" /SourceIndex:6 /DestinationImageFile:"C:\origin.wim"
Il est aussi possible de récupérer le wim généré avant pour que les mises à jour prennent moins de temps
Pour cela, copier juste l'ancien wim en origin.wim
Générer une image cumulative
Si nécessaire créer le dossier c:\mount
Monter l'image
Mount-WindowsImage -Path C:\mount -ImagePath c:\origin.wim -Index 1
Télécharger la cumulative sur https://www.catalog.update.microsoft.co ... -framework
Un seul des deux paquets est nécessaire, celui le plus gros
Ajouter la cumulative à l'image
Add-WindowsPackage -path c:\mount -PackagePath C:\windows11.0-kbxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxx.msu
Sauvegarder l'image
Dismount-WindowsImage -Path C:\mount -Save
Exporter l'image en indiquant le numéro de version Windows exemple 10.0.26100.7623
DISM.exe /Export-Image /SourceImageFile:c:\origin.wim /DestinationImageFile:c:\numero_version_windows.wim /SourceIndex:1
Le fichier origin.wim doit être régénéré pour être utilisé à nouveau
Copier le fichier obtenu sur le serveur wapt dans /var/www/wapt/scripts/dism
Pensez à attribuer les droits à www-data