2013-11-01 175 views
0

我已經得到了該代碼的工作行 我想通過VBScript在域環境中的遠程計算機上運行共享程序。第一部分沒問題,它要求我輸入計算機名稱,但問題在第二部分。我不知道如何在第一部分輸入的遠程計算機上運行該程序。如何在特定的遠程計算機上運行程序

computer = inputbox ("What computer do you wish to check? (Press Enter if this computer)","Computer") 

set WMI = GetObject("WinMgmts://" & computer) 

If computer="" then computer = "this computer" 



Dim objShell 

Set objShell = WScript.CreateObject("WScript.Shell") 

objShell.Run("""\\compname\Share\progr.exe""") 

Set objShell = nothing 

運行此腳本後,它運行在我的電腦上的程序,而不是在遠程計算機上。我想在我從鍵盤輸入的特定計算機上運行該程序。

回答

0

從vbscript中,更好的方法是使用wmi。請參閱this以獲取有關如何通過wmi與遠程計算機建立連接的完整信息以及您將要面對的問題。

按照microsoft頁面中的信息,您將以objWMIService變量指向遠程計算機的WMI服務結束。然後,

Set objProcess = objWMIService.Get("Win32_Process") 

Dim strProcess 
    strProcess = "notepad.exe" 

Dim lngReturn, intPID 
    lngReturn = objProcess.Create(strProcess, null, null, intPID) 

    If lngReturn = 0 Then 
     Wscript.Echo strProcess + " started. PID: " & intPID 
    Else 
     Wscript.Echo "Error: " & lngReturn 
    End If 

使用objWMIService(請記住,它的遠程機)去的過程集合的引用(遠程機器的),並創建一個新的進程。

+0

建立與遠程主機的WMI連接是另外一條線。你應該添加這個額外的行來讓答案自成一體。對MSDN頁面的引用對於獲得更深入的洞察力非常有用,但OP沒有必要遵循它來從解決方案中獲得工作解決方案。 –

+0

以最簡單的形式,您是對的,只有一行,但我不知道用戶是否需要提供證書或不需要,或者他們的要求是什麼。每個選項的原因和需求都可以在MSDN中更好地解釋,包括代碼示例,如有必要,OP可以要求澄清。 –

相關問題