You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

双PC直播场景PowerShell通过PSSession运行SendKeys无响应求助

问题根因排查与解决方案

核心根因

通过PSSession建立的远程PowerShell会话默认运行在Session 0系统服务上下文,没有关联当前登录用户的交互式桌面环境,而SendKeys依赖活动桌面会话才能将按键事件发送到目标应用窗口,所以即使脚本执行成功也不会产生任何可见效果。

可落地排查步骤

  • 第一步:确认远程执行上下文绑定到活动用户会话
    你需要将脚本运行在当前登录直播PC的用户的交互式会话中,可通过query user命令先查询当前登录用户的会话ID,再通过调用计划任务或者psexec指定会话ID执行脚本,示例psexec命令如下:
    psexec.exe -i <你的会话ID> -s powershell.exe -Command "$wshell = New-Object -ComObject wscript.shell; Start-Sleep -Milliseconds 200; $wshell.SendKeys(']')"
  • 第二步:修正SendKeys调用逻辑
    原脚本没有预留窗口聚焦的缓冲时间,容易出现按键发送时窗口还未完成聚焦的问题,可增加短延迟提升成功率:
    $wshell = New-Object -ComObject wscript.shell
    # 预留200ms缓冲时间确保目标窗口处于激活状态
    Start-Sleep -Milliseconds 200
    $wshell.SendKeys(']')
    
  • 第三步:验证按键发送逻辑
    先在直播PC本地运行修改后的脚本,确认可以正常向聚焦的文本文件输入]后,再通过远程调用的方式执行,排除本地脚本本身的问题。

更稳定的替代方案

SendKeys受窗口聚焦、弹窗干扰的影响非常大,针对你控制OBS的需求,更推荐使用OBS WebSocket插件实现跨PC控制:

  1. 在直播PC的OBS中安装OBS WebSocket插件,设置访问密码
  2. 在游戏PC的Stream Deck中配置OBS WebSocket控制插件,直接调用OBS的原生功能接口,不需要依赖热键和窗口聚焦,稳定性远高于SendKeys方案。

内容的提问来源于stack exchange,提问作者Caleb Taylor Bloo1147

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:42:00