Главная

Wednesday, 2 November 2022

Convert Windows Image.


Всем привет.

Есть на TechNet интересная утилита Convert-WindowsImage, умеющая преобразовывать установочные образы в файлы виртуальных жестких дисков. Convert-WindowsImage.ps1 - это скрипт PowerShell, который конвертирует установочный образ диска из формата WIM или ISO в формат Virtual Hard Disk. В результате работы скрипта из дистрибутива Windows получается готовый VHD с установленной операционной системой, который можно использовать для создания виртуальной машины или для загрузки обычного компьютера.

Развернутая таким способом ОС будет находиться в таком же состоянии, как после применения образа и первой перезагрузки в ходе обычной установки. Такой же эффект получается после обработки (Generalize) уже установленной системы утилитой Sysprep. То есть, после первой загрузки системы вам придётся пройти процедуру начальной настройки (Out Of Box Experience, OOBE).

Convert-WindowsImage является развитием другой утилиты - WIM2VHD, однако имеет несколько существенных отличий:

• утилита переписана на языке PowerShell (WIM2VHD использовала JScript);

• добавлена поддержка виртуальных жестких дисков формата VHDX;

• добавлена возможность работы с образами ISO;

• добавлен графический интерфейс (есть информация что GUI более не поддерживается).

Convert-WindowsImage имеет несколько предварительных требований к версиям операционной системы:

• утилита может быть запущена только на Windows Server 2012 и выше. 

• утилита может конвертировать установочные образы следующих операционных систем: Windows 10, Windows Server 2012 и выше. 

Примеры использования Convert-WindowsImage.

Для запуска Convert-WindowsImage необходимо скопировать файл Convert-WindowsImage.ps1 на компьютер и изменить политику выполнения скриптов на RemoteSigned.

Пример 1:

Создаем в папке E:\VHD виртуальный диск Win8.vhdx из образа установочного диска E:\ISO\Windows 8\windows8.iso. Задаем формат диска VHDX, тип динамический и размер 25Гб:

.\Convert-WindowsImage.ps1 -SourcePath E:\ISO\Windows 8\windows8.iso

-VHDPath E:\VHD\Win8.vhdx -VHDFormat VHDX -VHDType Dynamic -SizeBytes 25GB


Пример 2:

Следующей командой запустим Convert-WindowsImage в графическом режиме:

.  \Convert-WindowsImage.ps1 -ShowUI

Convert-WindowsImage -ShowUI


Здесь также можно выбрать установочный образ, указать редакцию, сконфигурировать параметры виртуального диска, задать имя диска и папку назначения. Имя виртуального диска надо обязательно писать с расширением, иначе скрипт выдаст ошибку. При запуске этого скрипта в Powershell ISE с ShowUI приведет к ошибкам рода: It should be $script:PSScriptRoot instead of $global:PSScriptRoot which only works in ISE but not in a plain PowerShell. Можно пофиксить, но стоит ли оно того.

Как я узнал про эту замечательную утилиту? Тут мне довелось практически проверить 3-ю главу книги Адама Бертрама "PowerShell for Sysadmins: Workflow Automation Made Easy", где расписано создание своего модуля PowerLab.

PowerLab - это PowerShell-модуль, содержащий функции, необходимые для настройки серверов Windows с нуля.

Процесс подготовки полигона с нуля там выглядит так:

  • Создание виртуальной машины Hyper-V.
  • Установка сервера Windows.
  • Создание Active Directory.
  • Подготовка серверов SQL.
  • Подготовка веб-серверов IIS.

Во всех случаях используется эта утилита которая экономит по ходу кучу времени и сил.  Увидеть окончательный результат вы можете в моем репозитории GitHub: https://github.com/nyukers/Powershell/tree/main/PowerLab.

Удачи.


No comments:

Post a Comment

А что вы думаете по этому поводу?