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

使用Python3.10 WinRM远程执行PowerShell脚本时Start-Process无法启动tsm.exe

问题排查与解决方案

1. 路径转义错误

Python字符串中的\t会被解析为制表符,导致实际传递给PowerShell的路径变成c: mp\tsm.exe,显然无效。

修复方式二选一:

  • 使用Python原始字符串(在引号前加r):
    ps_script_tsm=r"""
     Start-Process -FilePath "c:\tmp\tsm.exe"
    """
    
  • 用双反斜杠转义:
    ps_script_tsm="""
     Start-Process -FilePath "c:\\tmp\\tsm.exe"
    """
    

2. WinRM会话的无桌面限制

WinRM默认运行在无桌面的服务会话中,部分GUI程序或依赖桌面环境的进程无法正常启动。可以尝试添加参数强制创建窗口并等待执行完成,同时捕获输出:

ps_script_tsm=r"""
 Start-Process -FilePath "c:\tmp\tsm.exe" -Wait -NoNewWindow -PassThru
 # 若需要可见窗口,替换为 -WindowStyle Normal
"""

3. 权限与执行上下文问题

即使使用Administrator账号,WinRM的执行上下文可能缺少某些权限,尝试添加-Verb RunAs以最高权限启动:

ps_script_tsm=r"""
 Start-Process -FilePath "c:\tmp\tsm.exe" -Verb RunAs -Wait -NoNewWindow
"""

4. 检查执行结果的错误信息

执行后务必查看WinRM返回的错误输出,定位具体问题:

print("标准输出:", r.std_out.decode('utf-8'))
print("错误输出:", r.std_err.decode('utf-8'))

5. 其他可能的问题

  • 确认目标机器上c:\tmp\tsm.exe确实存在,且路径拼写正确
  • 若tsm.exe需要命令行参数,添加-ArgumentList参数,比如:
    ps_script_tsm=r"""
     Start-Process -FilePath "c:\tmp\tsm.exe" -ArgumentList "--help" -Wait -NoNewWindow
    """
    

内容的提问来源于stack exchange,提问作者dream while

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 02:06:52