虚拟机

时间:2016-07-26 15:47:20

标签: python pyvmomi

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

1 个答案:

答案 0 :(得分:0)

最后我无法找到答案,所以我只是在其中编写了一个带有net start命令的批处理文件,然后使用上面的processManager执行此操作。