Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Сетевые технологии > batch для запуска удаленного приложения


Автор: ivvvi 3.6.2008, 16:24
prog.exe находится на удаленном РС1.

call.bat находится на локальном.

Нужно чтобы (с помощью call.bat) запустилась prog.exe  конкретно на удаленном РС1, а не на моем локальном.

Что то типа этого: call.bat

start \\PC1\prog\prog.exe
pause


Но в этом случае запускается на моем локальном :(


Помогите.
Спасибо.

Автор: Akina 3.6.2008, 16:40
Через батч это не получится.
Можно попробовать через скрипт, нечто вроде

Код

set process = GetObject("winmgmts:{impersonationLevel=impersonate}//Remote_PC_NetBIOS_Name!Win32_Process")
result = process.Create ("ProgramName",null,null,processid)

Автор: ivvvi 4.6.2008, 22:45
Пытался я запустить prog.exe с помощью   PsExec v1.92

Код


psexec \\PC1 d:\prog.exe




Потом с помощью Скрипта:

Код

' StartProcess.vbs
' Sample VBScript to start a process. Inputbox for name
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.2 - December 2005
' -------------------------------------------------------'
Option Explicit
Dim objWMIService, objProcess
Dim strShell, objProgram, strComputer, strExe, strInput
strExe = "D:\prog.exe"
' Input Box to get name of machine to run the process
Do
strComputer = (InputBox(" ComputerName to Run Script",_
"Computer Name"))
If strComputer <> "" Then
strInput = True
End if
Loop until strInput = True

' Connect to WMI
set objWMIService = getobject("winmgmts://"_
& strComputer & "/root/cimv2")
' Obtain the Win32_Process class of object.
Set objProcess = objWMIService.Get("Win32_Process")
Set objProgram = objProcess.Methods_( _
"Create").InParameters.SpawnInstance_
objProgram.CommandLine = strExe

'Execute the program now at the command line.
Set strShell = objWMIService.ExecMethod( _
"Win32_Process", "Create", objProgram)

WScript.echo "Created: " & strExe & " on " & strComputer
WSCript.Quit
' End of Example of a Process VBScript 



Ну думал всё.


В Диспетчере программ на удаленном \\PC1  видно, что процесс(prog.exe) запущен.(!)
Но фактически GUI (prog.exe) не запущена.


Сама проблема в следующем:
На локальном_РС управляющая программа (BigProg.exe)
На удаленном_РС1    prog.exe.

Последовательность запуска:
1)   prog.exe
2)   BigProg.exe

До последнего момента запускали последовательно с каждого PC.

Сейчас надо с локального_РС 

Завершение работы программ (удаление из памяти) сделал с помощью pskill.exe (всё ок)

С запуском проблемы. 
Может кто поможет.
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)