1
我已經寫了下面的代碼基於這裏找到例子,在互聯網:的VBScript - 嘗試啓動服務,直到找到它的一個運行實例
'Option Explicit
Dim objWMIService, objWMIService2, processItems, ProcessName, ServiceName, colListOfServices
ProcessName = "Agent.exe"
ServiceName = "EaseUS Agent"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set processItems = objWMIService.ExecQuery("Select * from Win32_Process where Name='" & ProcessName & "'")
Set objWMIService2 = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colListOfServices = objWMIService2.ExecQuery ("Select * from Win32_Service Where Name ='" & ServiceName & "'")
'Wscript.Echo ProcessName & ": " & processItems.Count
Do
'Start Service
For Each objService in colListOfServices
objService.StartService()
Next
Loop While processItems.Count = 0
但它不工作。你能幫我找到那裏有什麼問題嗎?如果我啓用Option Explicit
命令,腳本會說:
objService未定義。
如果我評論了Option Explicit
命令它帶有一個提供商失敗,代碼80041004,產地SWbemObjectEx相關線路objService.StartService()
objService變量未定義。只需在「Do」和「For Each」條件之間添加Dim objService – Michalis 2011-12-24 16:04:16
謝謝Michalis!是的,你的建議奏效了。現在腳本運行,但它似乎無法運行我所期望的服務。也許它與服務EaseUS Agent的名稱有關,它在單詞之間有一個空格。這可能是問題嗎?也許objService.StartService()行對空格字符有問題。 – Aeolis 2011-12-24 17:24:13