0

我正在尝试通过 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)
4

1 回答 1

0

最后我找不到答案,所以我只是简单地编写了一个批处理文件,其中包含 net start 命令,然后使用上面的 processManager 执行它。

于 2016-08-15T11:25:24.850 回答