使用Flow跨地理位置租户复制SharePoint文件遇问题求助
问题本质
报错Copy or move can't rename or replace an existing item at the specified destination location.核心原因是:跨租户场景下,Power Automate的标准「复制文件」操作不支持直接覆盖目标文件,且组织资产库本身存在特殊的权限与缓存限制,即便你是双站点管理员,也会触发这类校验逻辑。
可落地的解决步骤
1. 替换「复制文件」为组合操作
放弃直接用「复制文件」,改用「获取文件内容」+「创建文件」的组合:
- 触发文件新增/修改事件后,先通过「获取文件内容」读取源文件的内容与元数据
- 执行「创建文件」时,勾选「如果文件已存在则覆盖」选项,直接写入目标库路径
- 若需要同步元数据(如修改时间、作者),后续追加「更新文件属性」操作补全
2. 校验目标组织资产库的配置
确认目标租户的domaingbr.sharepoint.com/sites/orgassets/library满足以下条件:
- 在库设置中确认已启用「组织资产库」标记
- 检查库权限:确保Power Automate连接使用的账户拥有完全控制权限(而非仅管理员角色,部分场景下管理员权限会被组织资产库的特殊规则限制)
3. 重新验证跨租户连接权限
即便连接状态显示正常,跨租户授权可能存在隐性问题:
- 进入Power Automate的连接管理页,找到目标租户的SharePoint连接
- 点击「编辑连接」重新授权,授权时明确选择拥有目标库完全权限的账户
- 先创建一个简单测试流(比如从目标库读取任意文件),验证连接的实际可用性
4. 手动处理文件名冲突
如果目标库已存在同名文件,可在流中添加前置判断逻辑:
- 用「获取文件元数据」操作检查目标路径是否存在同名文件
- 若存在,先执行「删除文件」操作,再执行文件写入步骤
- 注意:删除操作需要目标库的删除权限,需提前确认配置
5. 绕开组织资产库的特殊限制
组织资产库自带缓存与审核机制,跨租户同步时可先中转到普通库:
- 先将文件复制到目标租户的普通文档库
- 再通过PnP PowerShell脚本将文件移动到组织资产库,脚本示例:
# 需先安装PnP PowerShell模块 Connect-PnPOnline -Url "https://domaingbr.sharepoint.com/sites/orgassets" -Interactive Move-PnPFile -SourceUrl "/sites/temp-library/documents/目标文件.pdf" -TargetUrl "/sites/orgassets/library/目标文件.pdf" -OverwriteIfExists
内容的提问来源于stack exchange,提问作者matt
相关产品推荐
相关产品推荐

