VirtualBox。如何编写机器启动和安装程序运行的脚本(Windows)

VirtualBox。如何编写机器启动和安装程序运行的脚本(Windows)

我发现我可以使用 VBoxManage 启动和停止带有 virtualBox 的虚拟机。我不确定这是我需要的工具。

我正在尝试编写一个脚本

  1. 将启动虚拟机(不同版本的 Windows)
  2. 运行一个自定义软件(在我的情况下是安装程序)并记录结果
  3. 虚拟机的力量

我知道 Web 服务和 API 的存在,但是我在网上找不到太多关于第 2 点的信息。

我真的很感激对此的一些指导。即我应该使用 vboxmanage 来启动和停止虚拟机,然后以其他方式运行安装程序吗?或者我应该使用 COM API,如果是这样,关于如何执行步骤 2 的一些示例有什么想法吗?

对 VirtualBox 一点都不熟悉。但我可以编写代码。

更新:我应该看看 Vagrant 还是 Puppet?您可能已经猜到了,这是一个安装程序的测试套件,如果能够重新使用它就太好了。

谢谢

答案1

你可以使用以下命令启动虚拟机

VBoxManage startvm <vm>

并将其关闭

VBoxManage controlvm <vm> poweroff 

尽管使用 acpipowerbutton 会更好:

VBoxManage controlvm <vm> acpipowerbutton

您可以使用以下方式在 Guest 上执行命令

VBoxManage guestcontrol execute ...

这对于命令行程序来说很好用,您可以将输出重定向到主机。但是,我不确定它与 GUI 应用程序(如普通的 Windows MSI 安装程序包)配合使用效果如何。此外,关于“记录结果”的部分有点模糊,您的安装程序是否会在关闭虚拟机之前写入一个日志文件,您可以将其发送到网络共享?

您还可以拍摄虚拟机快照,然后稍后查看

答案2

是的,可以编写您所描述的脚本。据称可以从 Windows 主机环境中执行此操作,但根据我的经验,这些功能仅在 Linux 中完全有效。(脚本在 OS X 中也可以正常工作,但您无法获得 RDP 身份验证,这使得在远程系统中编写脚本的过程变得不那么有趣。)

通过添加各种技巧,您还可以远程更新客户机添加项、安装/删除软件、运行 Powershell 脚本以及使用 WUInstall 更新 Windows。这真的非常巧妙。

埃里克

相关内容