我们需要从会话 0 隔离到会话 1 中的登录用户生成进程。此任务是通过使用完成的psexec
,这完全发生在同一台机器上,但我无法获得子进程的输出显示在 psexec 中。由于这在构建服务器上运行,我不想将输出重定向到文件等
这是一个不起作用的示例调用:
C:\>PsExec.exe cmd.exe -i 1 -u user -p pwd /C echo foo
结果无处显示任何“foo”
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
cmd.exe exited with error code 0.
有效但目前无用的一件事是省略-i
并添加\\localhost
:
C:\>PsExec.exe \\localhost cmd.exe /C echo foo
返回:
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
foo
cmd.exe exited on localhost with error code 0.
但是当我指定会话 1 时,它会中断。这个:
C:\>PsExec.exe cmd.exe -i 1 -u user -p pwd \\localhost /C echo foo
再次foo
对我显示不。
同样:目的不是tee
或重定向echo foo
到某个文件,然后type myfile.log
作为第二步执行,而是接收原始 psexec 中的输出。
我们绑定到会话 1,因为我们需要 Direct 3D 上下文,将服务配置为“允许与桌面交互”在这里没有帮助。