我有两个由Hyper-V托管的远程桌面。
在远程桌面" A"上,我有一个.bat文件,我想执行它。
在远程桌面" B"上,我已经打开cmd并使用psexec cmd准备在机器上调用.bat文件" A"。
"path-to\\psexec.exe" \\ip -u domain\username -p pswd -i cmd.exe /c "path-to\\myFile.bat %*"
机器上的.bat文件中包含的脚本" A"在UI上运行,因此需要打开一个真正的屏幕,所以我同时连接到两个RD。但是,当我在机器" B"上调用psexec命令时,cmd会返回错误,但如果我打开RD" A"直接通过服务器的Hyper-V管理器界面,psexec命令按预期工作。
有人可以解释为什么会发生这种情况?
答案 0 :(得分:1)
Windows的用户界面在session 0上运行。要远程运行使用会话0的程序,它需要以系统用户(-s
标志)运行,并且您可以指定要使用的会话(-i
标志)。 This answer也有一些相关提示。