我用监视器配置文件切换器通过单击 .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