2012-03-05 205 views
1

我试图执行以下命令PSEXEC运行远程批处理文件

psexec \\x.x.x.x -d -c -f cmd.exe /c d:\test\hello.bat 

它运行良好,并给出输出

cmd.exe started on x.x.x.x with process ID 106084. 

但是,当我登录上XXXX我能找到的进程ID但没有可见的批处理文件启动。它在后台运行。

批处理文件

echo "Hello" 
pause 

请告诉我如何看到X.X.X.X推出命令窗口

在此先感谢

+1

看看命令行开关,有一个用于交互模式。 – 2012-03-05 12:48:03

+0

我没有添加-i开关,但是如果我从机器A向机器B发出命令,则机器A停止在机器B上执行,但是当我在机器上登录时,BI只能看到来自任务管理器的进程ID,但没有可见的cmd窗口。 – Rohit 2012-03-06 03:26:29

回答

1

亚历克斯K.是正确的。具体来说,删除“-d”,它告诉PsExec“不要等待进程终止(非交互)”。事实上,如果您运行上面的示例批处理文件(其中包含“暂停”),cmd进程将继续在远程主机上运行(远程主机的GUI不可见,因为它是通过PSExec完成的),直到您终止该进程。

0

尝尝其中:

  1. psexec \\server -u xxx-p xxxx /accepteula -i 1 -d cmd.exe /K "cd d:\test && call hello.bat" 
    
  2. psexec \\server -u xxx -p xxxx /accepteula -i 1 -d d:\test\hello.bat 
    
+0

嗨菲利普,你可以请检查一下,我不能启动GUI,如上所述。 http://stackoverflow.com/questions/24203577/launch-notepad-exe-using-psexec-sysinternal-tool – SanjayJ 2014-06-13 11:07:53

1

我觉得你可以看看会话ID是当前的用户,并将其与-i例如通过为参数:

PsExec.exe -s -d -i 2 c:\temp\MyServer MyConsoleApp.exe 

要看看t他当前的会话ID可以运行query session

有时会话ID为2,您希望启动进程的活动用户,因此请尝试查找正确的会话ID并将其与-i参数配合使用。