使用PowerShell上传文件到Teams SharePoint目录时报访问被拒绝求助
问题根因
你遇到的报错核心有两个原因:
- 连接的SharePoint站点错误:你当前连接的是SharePoint根站点
https://My365.sharepoint.com/,但目标文件存放于MyServicesInc子站点下,即使你的账号对子站点有权限,根站点无写入权限也会触发未授权报错 Add-PnPFile的-Folder参数传入了错误值:该参数不支持传入SharePoint前端浏览页的URL,需要传入站点内的文档库相对路径
修正方案
1. 调整连接站点地址
将Connect-PnPOnline的URL参数替换为目标子站点地址,示例如下:Connect-PnPOnline -Url "https://My365.sharepoint.com/sites/MyServicesInc" -UseWebLogin
2. 修正目标文件夹参数
Teams常规频道对应的SharePoint文件夹路径规则为Shared Documents/[频道名称],你要上传到ITCommunications频道的话,-Folder参数填写"Shared Documents/ITCommunications"即可。
3. 修正文件路径取值
Add-PnPFile的-Path参数直接传入文件完整路径字符串即可,无需传入文件对象。
完整可运行代码
# 1. 指定本地文件路径 $localFilePath = "C:\Temp\ToSharepoint\Test.txt" # 2. 连接到目标子站点 Connect-PnPOnline -Url "https://My365.sharepoint.com/sites/MyServicesInc" -UseWebLogin # 3. 上传文件到目标频道对应文件夹 Add-PnPFile -Path $localFilePath -Folder "Shared Documents/ITCommunications"
排查验证
如果运行后仍有问题,可依次执行以下命令确认配置:
- 执行
Get-PnPWeb确认当前已连接到正确的MyServicesInc子站点 - 执行
Get-PnPFolder -Url "Shared Documents/ITCommunications"确认可正常读取目标文件夹,验证权限是否正常
内容的提问来源于stack exchange,提问作者rmartinson664
相关产品推荐
相关产品推荐

