Назад | Перейти на главную страницу

VirtualBox. Как записать сценарий запуска машины и запуска установщика (windows)

Я вижу, что могу запускать и останавливать виртуальную машину с помощью virtualBox, используя VBoxManage. Я не уверен, что это тот инструмент, который мне нужен.

Я пытаюсь написать сценарий, который

  1. Будет загружать виртуальную машину (разные варианты Windows)
  2. Запустите специальную программу (в моем случае установщик) и запишите результаты этого
  3. мощность ВМ

Мне известно о существовании веб-сервисов и API, однако я не смог найти в Интернете много информации о пункте 2.

Я был бы очень признателен за руководство по этому поводу. т.е. я должен использовать vboxmanage для запуска и остановки виртуальных машин, а затем запускать установщики каким-либо другим способом? в качестве альтернативы я должен использовать COM API, если да, какие-либо идеи некоторых примеров о том, как выполнить шаг 2?

Совершенно не знаком с VirtualBox. Но я могу писать код.

ОБНОВЛЕНИЕ: я должен смотреть на Vagrant или Puppet? Как вы, наверное, догадались, это набор тестов для установщиков, и было бы здорово иметь возможность использовать его повторно.

Спасибо

Вы можете запустить виртуальную машину с

VBoxManage startvm <vm>

и выключить его с помощью

VBoxManage controlvm <vm> poweroff 

Вы можете выполнять команды в гостевой системе, используя

VBoxManage guestcontrol execute ...

это отлично работает для программ командной строки, и вы можете перенаправить вывод на свой хост. Однако я не уверен, насколько хорошо это работает с приложениями с графическим интерфейсом пользователя, такими как обычный установочный пакет Windows MSI. Также немного нечетко сказано о «записи результатов», записывает ли ваш установщик файл журнала, который вы могли бы отправить в общий сетевой ресурс перед выключением виртуальной машины?

Вы также можете сделать снимок виртуальной машины, а затем просмотреть его позже.

Да, можно написать сценарий именно так, как вы описываете. Предположительно это можно сделать из среды хоста Windows, но, по моему опыту, эти возможности полностью работают только в Linux. (Сценарии отлично работают и в OS X, но вы не можете получить аутентификацию RDP, что делает создание сценариев в удаленной системе менее интересным процессом.)

С добавлением некоторых различных вариантов вы также можете удаленно обновлять гостевые дополнения, устанавливать / удалять программное обеспечение, запускать сценарии Powershell и использовать WUInstall для обновления Windows. Это действительно здорово.

Эрик