2016-03-11 123 views
0

如何在不使用PsExec的情况下执行位于远程机器上的机器位于相同域的VBScript?如何在远程计算机上执行vbs文件

我试了下面的代码,但没有运气。

Sub RunCommand(strComputer, Command) 
    Set objWMIService = GetObject("winmgmts:" _ 
     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2:Win32_Process") 
    Err = objWMIService.Create("cmd /c " & Command, Null, Null, intProcessID) 
    If Err > 0 Then 
     MsgBox "Error occured on Remote Server", vbCritical, "Error" 
    End If 
End Sub 

Sub Test() 
    Runcommand("HE2264","C:\Temp\Test.vbs")  
End Sub 

回答

2

您需要使用任何cscript.exewscript.exe运行VB脚本,不与CMD。

Err = objWMIService.Create("wscript.exe " & Command, Null, Null, intProcessID) 

此外,您从RunCommand调用需要remove the parenthesesTest

Runcommand "HE2264", "C:\Temp\Test.vbs" 
+0

同样的,如果我想执行一个bat文件,我可以用WScript.exe去提到? – santosh

+0

或者用'Call * *(链接文章中的第3.2点)*'保留圆括号和前缀。 – Lankymart

+2

@santosh当然不是。批处理文件需要与VBScript文件('cscript.exe'或'wscript.exe')不同的解释器('cmd.exe')。 –

相关问题