VirtualBox. Comment faire pour exécuter le démarrage de la machine et de l'installateur (Windows)

Je peux voir que je peux commencer et arrêter un vm avec virtualBox à l'aide de VBoxManage. Je ne suis pas sûr que ce soit l'outil dont j'ai besoin.

J'essaie d'écrire un script qui

  1. Va démarrer la machine virtuelle (différentes saveurs de Windows)
  2. Exécutez un logiciel personnalisé (dans mon cas, un installateur) et enregistrez les résultats de cette
  3. puissance de la VM

Je suis conscient de l'existence des services Web et de l'API, mais je n'ai pas pu find beaucoup en ligne sur le point 2.

J'apprécierais vraiment une certaine direction à ce sujet. Est-ce que je devrais utiliser vboxmanage pour démarrer et arrêter les machines virtuelles, puis exécuter les installateurs d'une autre manière? alternativement, dois-je utiliser l'API COM, dans l'affirmative, des idées d'échantillons sur la façon de faire l'étape 2?

Vous ne connaissez pas VirtualBox. Mais je peux écrire un code.

MISE À JOUR: Devrais-je regarder Vagrant ou Puppet? Comme vous pouvez probablement penser que c'est une suite de tests pour les installateurs, et il serait formidable de pouvoir l'utiliser.

Merci

Vous pouvez démarrer une VM avec

 VBoxManage startvm <vm> 

et allumez-le avec

 VBoxManage controlvm <vm> poweroff 

Vous pouvez exécuter des commands sur l'invité en utilisant

 VBoxManage guestcontrol execute ... 

Cela fonctionne bien pour les programmes de command line et vous pouvez redirect la sortie vers votre hôte. Cependant, je ne suis pas sûr de la façon dont cela fonctionne avec les applications GUI comme un package d'installation Windows MSI normal. En outre, le bit sur «l'logging des résultats» est un peu vague, votre installateur écrit-il un file journal que vous pouvez envoyer à un réseau partager avant de mettre sous tension la machine virtuelle?

Vous pouvez également prendre un instantané de la machine virtuelle puis la regarder plus tard

Oui, il est possible de script exactement ce que vous décrivez. Il est apparemment possible de le faire à partir d'un environnement hôte Windows, mais, selon mon expérience, ces fonctionnalités fonctionnent entièrement uniquement sous Linux. (Le script fonctionne bien dans OS X aussi, mais vous ne pouvez pas get l'authentification RDP, ce qui rend les scripts dans un système distant less un process intéressant.)

Avec l'ajout de divers sauts de voûtes, vous pouvez également mettre à jour les ajouts d'invités, installer / supprimer un logiciel, exécuter des scripts Powershell et utiliser WUInstall pour mettre à jour Windows. C'est très joli.

Eric