使用 Vboxmanage 来宾控件执行应用程序不会显示在来宾上

时间:2021-01-21 17:00:53

标签: windows virtualbox

我想使用 VirtualBox vboxmanage 在多台客户机上启动应用程序 进行测试。

就我而言,我有一台 Windows 主机和 Windows 客户机。

使用 vboxmanage 确实会产生应用程序进程(实际上您可以在任务管理器中看到它)但是 不会在访客屏幕上显示该应用程序。

似乎我的应用程序没有屏幕可显示或确实有不同的屏幕...

是否可以使用 vboxmanage 来显示应用程序? 我错过了什么?

谢谢

执行命令的示例:

"C:\Program Files\Oracle\Virtualbox\VBoxManage.exe" guestcontrol "Win64" --password pw --username admin run --exe c:\windows\system32\cmd.exe --putenv JAVA_PATH=c:\tests\jre -- cmd.exe/arg0 /C C:\tests\jre\bin\java.exe -jar c:\tests\sikulix -r c:\tests\test_app.sikuli

1 个答案:

答案 0 :(得分:0)

我设法在 Windows 客户机上启动了一个应用程序,并在屏幕上显示了该应用程序,所以如果有人需要类似的东西,我会在这里发布如何做。

在使用 only host network 放置虚拟机以便能够从主机连接到客户机后, 我使用 psexec 与客人互动如下:

psexec.exe \\ipaddress -i 1 -u WORKGROUP\username -p password c:\path\to\my\application.exe -d

关于命令的一些说明:

  • -i 1 是允许与指定会话的桌面交互的选项
  • -d 可用于不等待进程终止
  • WORKGROUP\username 注意指定工作组

为了在多个虚拟机上实现自动化操作,您可以通过解析此命令的结果来确定 ip 地址

"C:\Program Files\Oracle\Virtualbox\VBoxManage.exe" guestproperty enumerate vmname

或者您可以像下面这样解析来宾上 systeminfo 的结果:

"C:\Program Files\Oracle\Virtualbox\VBoxManage.exe" guestcontrol MyVMname run --username myusername --password my-password --wait-stdout --wait-stderr --exe "C:\Windows\System32\cmd.exe" -- cmd.exe/arg0 /C systeminfo