Window 使用 PowerShell Direct 时通过 psexec 打开是空白,但当 psexec 在本地启动时正常

Window opened via psexec is blank when using PowerShell Direct, but is OK when psexec starts locally

我正在尝试构建一个简单的环境来自动截取屏幕截图。我有几个 Hyper-V 虚拟机,我需要使用 PowerShell Direct 以特定顺序对它们执行 运行 命令。当我 运行 psexec 通过 PowerShell Direct 打开 notepad.exe 时,记事本的 window 打开,但它是空白的。我可以盲目地单击 window 上的控件(例如,在工具栏上),看起来它们可以工作,但除了空白 window.

之外实际上没有显示任何内容

在我现在看到的现有会话中打开 Windows 的唯一简单选项是 运行 psexec(任何其他建议将不胜感激,因为我尝试坚持使用 PowerShell -only 方法遇到了障碍,请参阅 Starting a GUI application on a guest VM with PowerShell Direct)。

我 运行 psexec 在其中一个虚拟机上启动 notepad.exe 在会话 2 中。这个 PowerShell 片段 运行s 在主机 VM 上,它联系来宾通过 PowerShell Direct 的虚拟机。

Invoke-Command  -VMName 'client1.example.com' -Credential $credential -ScriptBlock {
C:\bin\psexec.exe \client1.example.com -i 2 "notepad.exe"
}

notepad.exe 开始,但是 window 是空白的。这是 psexec 中的错误吗?

请看截图:

当我直接在来宾虚拟机中 运行 psexec 时,问题不会出现。

C:\bin\psexec.exe \client1.example.com -i 2 "notepad.exe"

通过添加 -s 选项解决。我不明白为什么会出现这个问题,以及 运行 它 "in the system account" 有什么帮助。

-s Run the remote process in the System account.

当我启动 explorer.exe 时没有出现问题,顺便说一句。