我正在尝试通过 pyVmomi 在客户端虚拟机中启动服务。我在官方文档中找不到太多关于此的内容,我在网上搜索无济于事。然后,我修改了用于成功启动静默 MSI 安装的代码,只需运行带有参数“net start”和服务名称的 cmd.exe。这将返回一个有效的进程 ID,就好像它已经启动了 cmd,但是服务没有启动。我确实想知道这是否是权限,但是在来宾 VM 中存在与权限(或缺少权限)相关的特定错误,并且不会抛出此错误。我根本没有收到任何错误。关于如何通过 pyVmomi 启动服务的任何想法?
def startService(ServiceName):
"""
starts a specified windows service [serviceName]
"""
pm = esxiContent.guestOperationsManager.processManager
ps = vim.vm.guest.ProcessManager.ProgramSpec(
programPath='cmd.exe', arguments='net start ' + ServiceName,
)
pid = pm.StartProgramInGuest(vm, creds, ps)
print(pid)