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
时没有出现问题,顺便说一句。
我正在尝试构建一个简单的环境来自动截取屏幕截图。我有几个 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
时没有出现问题,顺便说一句。