Sysinternals psexec 不在远程桌面上 运行

Sysinternals psexec not running on the remote desktop

我有两个由 Hyper-V 托管的远程桌面。

在远程桌面 "A" 上,我有一个 .bat 文件,我想执行它。

在远程桌面 "B" 上,我打开了一个 cmd,其中 psexec cmd 准备调用计算机 "A" 上的 .bat 文件。

"path-to\psexec.exe" \ip -u domain\username -p pswd -i cmd.exe /c "path-to\myFile.bat %*"

机器"A"上的.bat文件中包含的脚本在UI上运行,因此需要打开一个真实的屏幕,所以我同时连接到两个RD。但是,当我在机器 "B" 上调用 psexec 命令时,cmd returns 出错,但是如果我直接通过服务器的 Hyper-V 管理器界面打开 RD "A",psexec 命令的作用如下预期的。

有人能解释一下为什么会这样吗?

Windows 的 UI 在 session 0. To run a program remotely that uses session 0, it will need to run as the System user (-s flag), and you can specify the session to use (-i flag). This answer 上运行也有一些相关的提示。