WIM Image Quick Editor & Optimizer PS script

dimo70

Администратор
Команда форума
WIM Image Quick Editor & Optimizer
Overview

This PowerShell script provides an automated, interactive workflow for mounting, modifying, and deeply compressing Windows Imaging Format (.wim) files, specifically optimized for WinPE or lightweight Windows images. It eliminates the common frustrations of manual DISM CLI operations by handling path generation, process locks, and cleanup automatically.
Key Features
  • Auto-Elevation: Automatically detects user privileges and self-elevates to Administrator mode via UAC if required.
  • GUI File Picker: Utilizes a native Windows Forms dialog box running in a safe STA (Single-Threaded Apartment) block to allow seamless file selection.
  • Interactive Modification: Automatically mounts Index 1 of the selected WIM to a randomized temporary directory and opens it directly in Windows Explorer for manual user modifications (adding drivers, scripts, tools).
  • Advanced Error Handling & Fail-Safe: Prevents "Image Locked" or "Access Denied" DISM errors during dismount by temporarily pausing the Windows Search service (WSearch) and recycling the explorer.exe process to release active file handles.
  • Maximum Re-Compression: Instead of a standard unmount-commit, the script exports the modified image using dism /Export-Image with the /Compress:max flag. This rebuilds the WIM structure from scratch, purging redundant allocation blocks and ensuring the smallest possible file size.
  • Deep Clean: Uses a resilient cmd.exe /c rmdir fallback routine to completely wipe out the temporary mount directory, bypassing strict WinPE folder permission restrictions.

Скрипт для быстрого редактирования и оптимизации образов WIM
Обзор
Этот скрипт PowerShell представляет собой автоматизированное интерактивное решение для монтирования, изменения и максимального сжатия файлов образов Windows (.wim), чаще всего используемых для сред WinPE или дистрибутивов Windows. Скрипт автоматизирует рутинные операции DISM, самостоятельно управляя путями, блокировками файлов и очисткой мусора.
Основные возможности
  • Автоматическое повышение прав (UAC): Скрипт проверяет наличие прав администратора и, если необходимо, автоматически перезапускается с повышенными привилегиями.
  • Графический выбор файла: Использует стандартное диалоговое окно OpenFileDialog, запущенное в безопасном потоковом режиме (STA), что предотвращает зависание интерфейса.
  • Интерактивное редактирование: Автоматически монтирует Индекс 1 выбранного WIM-файла в случайную временную директорию и открывает её в Проводнике Windows для ручного внесения изменений (добавление драйверов, скриптов, утилит).
  • Умная защита от ошибок (Fail-safe): Решает частую проблему блокировки файлов утилитой DISM. Скрипт временно приостанавливает службу Windows Search (WSearch) и перезапускает процесс explorer.exe, чтобы освободить занятые дескрипторы файлов перед размонтированием.
  • Максимальное сжатие: Вместо обычного сохранения изменений скрипт выполняет экспорт образа с помощью команды dism /Export-Image и флага /Compress:max. Это полностью пересобирает структуру WIM-файла с нуля, удаляя "избыточную" историю изменений и минимизируя размер архива.
  • Капитальная очистка: Использует надежный метод cmd.exe /c rmdir для принудительного удаления временной папки монтирования, успешно обходя строгие ограничения прав доступа, характерные для папок WinPE.

Edit_WIM
 
Верх