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

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

4

1 回答 1

1

从 vbscript,更好的方法是使用 wmi。请参阅以获得有关如何通过 wmi 连接到远程计算机以及您将面临的问题的完整信息。

按照 microsoft page 中的信息,您将以指向远程计算机的 WMI 服务的 objWMIService 变量结束。然后,

    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(记住,它是远程机器)来获取对(远程机器的)进程集合的引用,并创建一个新进程。

于 2013-11-01T09:50:24.697 回答