通过 SSH 启动 MonitorSwitcher.exe

通过 SSH 启动 MonitorSwitcher.exe

我用监视器配置文件切换器通过单击 .lnk 即可轻松切换到投影仪的显卡输出。

现在我想进一步自动化,并使用 SSH 执行 Monitor Profile Switcher。但令我沮丧的是,即使是命令行版本也只有在 Windows“认为”它是在真实会话(即使用监视器)而不是虚拟会话中执行时才有效。

有用:

  • 当我在本地打开 cmd.exe 并执行时MonitorSwitcher.exe -load:Projector.xml
  • 当我通过 TightVNC 在同一个会话中执行此操作时

但当它不起作用时

  • 通过 SSH cmd 会话执行
  • 或在远程桌面会话中的 cmd.exe 窗口中。

根本就沒有發生任何事。

我正在寻找解决该特定问题的方法,或者另一种解决方案来远程切换我的显示设置,以便我可以从我的 raspberry pi 和 openhab 进行控制。

任何帮助都将受到赞赏。

答案1

因此,经过大量研究和尝试后,我找到了一种通过 SSH 使 MonitorSwitcher 工作的方法。

您需要 PsExec,可从https://technet.microsoft.com/en-us/sysinternals/bb897553

PsExec64.exe -u Username -p Password -i 1 C:\Path\To\MonitorSwitcher.exe -load:C:\Path\To\Layoutconfig.xml

请注意,这仅在用户登录“物理”控制台时才有效,即没有激活锁定屏幕。如果您想先从 ssh 解锁屏幕,则需要执行

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log 

相关内容