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

Linux环境Powershell使用Copy-Item向远程Windows传输大于275K文件失败

问题根因

你遇到的是PowerShell 7.1.x版本在Linux环境下通过WinRM协议进行远程文件传输的已知缺陷:该版本内置的WSMan客户端分片传输逻辑存在校验bug,默认传输阈值约为275KB,超过该大小的文件传输时会因为ACK报文识别失败导致会话无限期挂死,同时该版本的Linux PowerShell对SIGINT信号处理存在问题,因此CTRL+C无法终止挂死的传输进程。
你排除服务器配置、容器本地权限和ulimit限制的验证逻辑完全成立,问题确实出在PowerShell本身的版本缺陷上。

解决方案

方案1:升级PowerShell版本(推荐)

该传输bug已经在PowerShell 7.2及后续版本中完成修复,将Debian容器内的PowerShell升级到7.2以上的正式版本即可直接解决问题,无需修改原有传输逻辑。

方案2:低版本临时规避

如果暂时无法升级PowerShell版本,可以在Copy-Item命令中手动指定小于阈值的缓冲区大小,绕开缺陷触发条件:

# 指定256KB缓冲区,大文件会自动拆分传输
Copy-Item -ToSession $copy_session /tmp/280k.txt -Destination F:\280k.txt -BufferSize 262144

方案3:替代传输方案

你已经验证同环境下SCP传输正常,可以直接在PowerShell中调用SCP命令完成文件传输,绕开PSRemoting的传输模块缺陷。

内容的提问来源于stack exchange,提问作者Craig Souder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:12:03