如何在特定的远程计算机上运行程序

时间:2013-11-01 09:14:18

标签: batch-file parameters vbscript

我有这个有效的代码行 我想通过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

运行此脚本后,它会在我的计算机上运行程序,而不是在远程计算机上运行。我想在我从键盘输入的特定计算机上运行该程序。

1 个答案:

答案 0 :(得分: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(请记住,它的远程机器)来获取(远程机器的)进程集合的引用,并创建一个新进程。