1

我正在尝试执行以下命令

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

请告诉我如何查看在 xxxx 上启动的命令窗口

提前致谢

4

4 回答 4

2

我认为您可以查看当前用户的会话 ID 并将其作为参数传递,-i例如:

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

要查看当前的会话 ID,您可以运行query session

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

于 2014-09-22T22:33:40.800 回答
1

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

于 2012-08-27T22:04:57.780 回答
1

Try one of those:

  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
    
于 2014-03-28T20:56:13.107 回答
0
PsExec.exe -s -i 2 C:\path_to_exe.exe

这需要检查会话 ID 变量(-s & -i)

于 2020-07-22T05:27:29.520 回答