AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 388012
Accepted
Miau
Miau
Asked: 2012-05-11 09:56:37 +0800 CST2012-05-11 09:56:37 +0800 CST 2012-05-11 09:56:37 +0800 CST

虚拟盒子。如何编写启动机器和安装程序运行的脚本 (windows)

  • 772

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

我正在尝试编写一个脚本

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

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

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

完全不熟悉 VirtualBox。但是我会写代码。

更新:我应该看 Vagrant 还是 Puppet?正如您可能猜到的那样,这是一个用于安装程序的测试套件,能够重新使用它会很棒。

谢谢

virtualbox vboxmanage
  • 2 2 个回答
  • 6907 Views

2 个回答

  • Voted
  1. Best Answer
    Peter Hahndorf
    2012-05-11T13:47:18+08:002012-05-11T13:47:18+08:00

    你可以启动一个虚拟机

    VBoxManage startvm <vm>
    

    并关闭它

    VBoxManage controlvm <vm> poweroff 
    

    虽然使用 acpipowerbutton 会更好:

    VBoxManage controlvm <vm> acpipowerbutton
    

    您可以使用来宾执行命令

    VBoxManage guestcontrol execute ...
    

    这适用于命令行程序,您可以将输出重定向到您的主机。但是,我不确定这与普通 Windows MSI 安装程序包等 GUI 应用程序的配合情况如何。此外,关于“记录结果”的内容有点含糊,您的安装程序是否编写了一个日志文件,您可以在关闭 VM 之前将其发送到网络共享?

    也可以给虚拟机拍个快照,以后再看

    • 4
  2. ericjray
    2013-02-19T10:40:27+08:002013-02-19T10:40:27+08:00

    是的,可以准确地编写您描述的脚本。据称可以在 Windows 主机环境中执行此操作,但根据我的经验,这些功能只能在 Linux 中完全发挥作用。(脚本在 OS X 中也能正常工作,但您无法获得 RDP 身份验证,这使得在远程系统中编写脚本不再是一个有趣的过程。)

    通过添加一些不同的 hoop-jumping,您还可以远程更新来宾添加、安装/删除软件、运行 Powershell 脚本以及使用 WUInstall 更新 Windows。它真的很光滑。

    埃里克

    • 1

相关问题

  • 在 Windows XP 主机上使用虚拟化 linux 来宾评估 Varnish 的最简单方法是什么?

  • 虚拟服务器网络

  • VirtualBox3 故障排除:它一直挂起

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve