Comment convertir un VHD en fichier WIM ?

Je viens de configurer et sysprepper une belle nouvelle VM, maintenant j’ai besoin de la convertir rapidement en WIM pour la téléverser sur mon serveur SCCM. Pour une raison quelconque, je ne peux pas modifier les propriétés de la VM pour démarrer à partir d’une NIC héritée pour le PXE, ce qui est la façon dont je capture habituellement mes images avec SCCM. VMM remet simplement les paramètres en place, même s’il dit que c’est réussi.

Bref, la première page de Google était terrible pour cela, à l’exception d’un script .ps1 tiers sur le site de MS, mais j’utilise 2012 R2, je devrais pouvoir faire ça nativement, non ?

Absolument, publions une réponse propre et correcte pour Google. C’est une exécution PowerShell simple en 2 commandes, utilisant le module dism. Le module dism peut être copié vers des versions antérieures de Windows, à condition d’avoir la version appropriée du Windows Management Framework.

D’abord, montez le VHD avec :

Mount-WindowsImage -ImagePath C:\VHDs\BigHomies.vhdx -Path C:\VHDMount -Index 1

Ensuite, capturez-le dans un WIM avec :

New-WindowsImage -CapturePath C:\VHDMount -Name Win7Image -ImagePath C:\CapturedWIMs\Win7.wim -Description "Yet another Windows 7 Image" -Verify

Et laissez-le faire son travail. Quand vous avez terminé, vous pouvez démonter le VHD et rejeter les modifications avec :

Dismount-WindowsImage -Path C:\VHDMount -Discard