Batch file 如何在特定的远程计算机上运行程序
我有这行代码 我想通过VBScript在域环境中的远程计算机上运行共享程序。第一部分要求我输入计算机名,但问题在第二部分。我不知道如何在第一部分输入的远程计算机上运行程序Batch file 如何在特定的远程计算机上运行程序,batch-file,parameters,vbscript,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 compute
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
运行此脚本后,它会在我的计算机上运行程序,而不是在远程计算机上。我想在通过键盘输入的特定计算机上运行该程序。从vbscript,更好的方法是使用wmi。请参阅以获取有关如何通过wmi连接到远程计算机以及执行此操作时将面临的问题的完整信息 按照microsoft页面中的信息操作,您将以指向远程计算机的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(记住,它是远程计算机)获取对(远程计算机的)进程集合的引用,并创建一个新进程。建立到远程主机的WMI连接是另一行。你应该加上这一行,使答案独立。对MSDN页面的引用有助于获得更深入的了解,但OP不必遵循它从答案中获得有效的解决方案。最简单的形式是,你是对的,一行,但我不知道用户是否需要提供凭据,或者他们的要求是什么。MSDN中更好地解释了每个选项的原因和需求,包括代码示例,OP可以在必要时要求澄清。