2016-07-26 168 views
0

我試圖通過pyVmomi在客戶機虛擬機內啓動一項服務。我在官方文檔中找不到太多,我搜索了網絡無濟於事。然後,我修改了我用來成功啓動靜默MSI安裝的代碼,只需使用參數'net start'和服務名稱運行cmd.exe即可。它返回一個有效的進程ID,就好像它已經啓動了cmd一樣,但是該服務沒有啓動。我確實懷疑它是否是權限,但是在訪客虛擬機中存在與權限(或缺少)相關的特定錯誤,並且不會引發此錯誤。我根本沒有任何錯誤。有關如何通過pyVmomi啓動服務的任何想法?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) 

回答

0

最後,我無法找到答案,而不是如此,我只是寫了一個批處理文件裏面net start命令,然後使用上述ProcessManager的執行此操作。