从iPhone通过SSH远程运行Windows程序权限问题求助
调试建议
1. 绑定SSH命令到当前用户桌面会话
- 本地登录Windows后打开
cmd,执行query user查看当前活跃用户的会话ID(通常为1或2) - SSH连接后,执行带会话ID的命令:
PsExec -i [会话ID] MultiMonitorTool /enable \\.\DISPLAY2(替换为你的显示器操作参数),强制让程序绑定到当前用户的桌面会话
2. 配置SSH服务的桌面交互权限
- 打开Windows服务管理器,找到
OpenSSH SSH Server(若使用微软官方SSH服务) - 右键属性→登录选项卡,选择本地系统账户并勾选允许服务与桌面交互
- 重启SSH服务后重新尝试执行命令
3. 调整PsExec的权限参数
- 放弃
-h参数(该参数触发高权限运行,易触发UAC拦截),改用指定管理员账户的方式:PsExec -i [会话ID] -u [你的用户名] -p [你的密码] MultiMonitorTool /disable \\.\DISPLAY1 - 若不想明文输密码,可在SSH会话中执行
runas /user:[用户名] cmd,打开有权限的cmd窗口后再运行MultiMonitorTool
4. 直接使用MultiMonitorTool完整路径
- SSH会话的环境变量可能与本地登录不同,执行时直接写完整路径,比如:
PsExec -i 1 "C:\Programs\MultiMonitorTool.exe" /enable \\.\DISPLAY2
5. 测试无界面命令执行
- MultiMonitorTool支持无界面参数,直接运行:
MultiMonitorTool /disable \\.\DISPLAY1(无需启动GUI,直接执行操作),验证是否能绕开会话绑定问题
6. 临时调整UAC设置
- 打开Windows本地安全策略→本地策略→安全选项,找到用户账户控制:管理员批准模式中管理员的提升权限提示行为,设置为不提示,直接提升(测试后改回原设置),避免UAC弹窗阻止远程执行
内容的提问来源于stack exchange,提问作者Madgick
相关产品推荐
相关产品推荐

