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

如何在PowerShell中使用Get-PnPFile按ID下载SharePoint Online文件

基于Item ID下载SharePoint Online文件的实现方案

PnP PowerShell 没有直接通过Item ID下载文件的参数,你需要先通过Item ID查询到对应文件的服务器相对路径,再调用原有下载命令即可。


完整可运行示例

# 预先定义变量
$siteUrl = "https://你的租户.sharepoint.com/sites/目标站点"
$docLibraryName = "文件所属的文档库名称"
$fileId = 456 # 替换为从数据库读取的实际fileId值
$localSaveFolder = "C:\本地保存文件夹路径"

# 连接SharePoint站点(已连接可跳过该步)
Connect-PnPOnline -Url $siteUrl -Interactive

# 根据Item ID查询文件项,读取内置字段获取文件路径和原始文件名
$targetFileItem = Get-PnPListItem -List $docLibraryName -Id $fileId -Fields "FileRef","FileLeafRef"
$fileRelativeUrl = $targetFileItem["FileRef"]
$rawFileName = $targetFileItem["FileLeafRef"]

# 执行下载
Get-PnPFile -Url $fileRelativeUrl -Path $localSaveFolder -Filename $rawFileName -AsFile -Force

补充说明

  • 示例中用到的FileRef(文件服务器相对路径)和FileLeafRef(原始文件名)都是SharePoint文档库的内置字段,不需要额外创建即可直接读取
  • 如果你不知道文档库名称,仅知道文件夹路径,可以先通过Get-PnPFolder -Url "文件夹的站点相对路径"获取文件夹所属的库信息,再代入上面的查询即可
  • 认证方式可根据运行场景调整,无人值守场景可替换为应用程序认证、托管标识认证等非交互方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:27:04