运行虚拟机的任务调度未出现在 runningvms 中

运行虚拟机的任务调度未出现在 runningvms 中

我正在尝试使用 Windows 任务计划程序运行一个 bat 文件,该文件启动特定的 Oracle VirtualBox VM。现在,虽然 VM 确实启动了,但当VBoxManage list runningvms我随后从命令提示符执行此操作时,它并没有出现。是的,计划任务设置为使用与我登录时相同的帐户,即“管理员”。但是,如果这很重要的话,该任务确实有“无论用户是否登录都运行”。

我真的不明白是什么原因造成的,希望我错过了一些基本的东西。我甚至让 bat 打印出运行任务时的用户和域,它清楚地显示了与我登录时相同的用户。我确实远程访问了完成所有这些操作的机器,如果这很重要的话(尽管远程操作时的用户登录与计划任务的用户登录相同)。

蝙蝠是这样的:

C:
cd C:\Program Files\Oracle\VirtualBox\
VBoxManage startvm MyVM -type headless 1> C:\log\vbox_startup.log 2>&1

我也是在这里抓住救命稻草,但我在计划任务的“历史记录”选项卡中查看,所有日志事件都有“用户:系统”,这不是我想要执行任务的用户,但我猜这是正在进行日志输入的用户?

此外,如果我启动 VirtualBox GUI,它会显示 VM 未运行,而实际上它正在运行(但显然是在不同的用户下运行?)。我还检查了“任务管理器”下的详细信息,发现 VBoxHeadless.exe 文件被列为由用户“管理员”运行,这应该是正确的。该 bat 似乎生成了三个 VBoxHeadless.exe 和一个 VBoxSVC.exe。

我可能错过了什么?为什么这不是通过任务计划程序工作,而是直接在命令提示符中工作?

我不确定这是否相关,但我还尝试执行类似的任务来关闭它,当尝试通过任务计划程序关闭时会产生此错误:

VBoxManage.exe: error: Code E_FAIL (0x80004005) - Unspecified error (extended info not available)
VBoxManage.exe: error: Context: "LockMachine(a->session, LockType_Shared)" at line 101 of file VBoxManageControlVM.cpp

相关内容