世纪互联sharepoint文件批量下载
世纪互联sharepoint文件批量下载
问题描述
世纪互联sharepoint文件库文件无法多选或者文件夹下载
解决方案概述
通过Powershell可以进行下载,下面将具体说明这些设置
具体操作步骤
Step 0 升级到Powershell7.0以上版本
Step 0.1 检查当前版本
打开PowerShell,输入以下命令
1 | $PSVersionTable.PSVersion |
终端将显示当前的PowerShell版本号,如图所示
Step 0.2 搜索最新版本的 PowerShell
在终端中输入以下命令
1 | winget search Microsoft.PowerShell |
这个会显示当前最新的可用的版本 正常版和预览版。
Step 0.3 安装新版本
使用id参数安装PowerShell或PowerShell预览版
# 使用 Winget 安装 PowerShell
1 | winget install --id Microsoft.Powershell --source winget |
# 使用 Winget 安装 PowerShell 预览版
1 | winget install --id Microsoft.Powershell.Preview --source winget |
Step 0.4 验证更新
查阅文档 发现5.1和7版本可以共存,建议旧版本不要卸载,目前7尚未完全兼容5
更新后程序路径到”C:\Program Files\PowerShell\7\
在文件夹下面打开”pwsh.exe”,即可以使用powershell 7.3版本
下面是全部下载过程
以下内容都将继续已经完成powershell 7.X版本的安装
Step 1 安装PnP PowerShell模块
在C:\Program Files\PowerShell\7\”找到运行程序,右键点击并选择“以管理员身份运行”。
安装新版模块
1 | Install-Module -Name PnP.PowerShell -Scope CurrentUser -Force |
Step 2 使用新版模块连接SharePoint
一旦新版模块安装完成,使用以下命令连接 SharePoint:
1 | Connect-PnPOnline -Url "https://yourdomain.sharepoint.com/sites/yourfolder" -Credentials (Get-Credential) |
可修改为在线验证方式,将会有弹窗进行web验证。
1 | Connect-PnPOnline -Url "https://yourdomain.sharepoint.com/sites/yourfolder" -UseWebLogin |
Step 3 Sharepoint 文件夹/文件下载
Step 3.1 获取所有文件的路径
首先,可以列出所有文件的路径,以确保路径是正确的。以下脚本将列出文档库中所有文件的路径:
1 | $libraryName = "Shared Documents" |
Step 3.2 下载文件
确认路径格式正确后,再使用 Get-PnPListItem 命令下载文件。以下是一个示例脚本:
1 | $localPath = "存放路径" |
其他说明
检查 PowerShell 版本
新版 PnP.PowerShell 模块可能需要较新的 PowerShell 版本(如 PowerShell 7.x)。请检查你的 PowerShell 版本:
1 | $PSVersionTable.PSVersion |
如果你使用的是旧版 PowerShell,务必安装 PowerShell 7.x。
如果之前在5.X版本的powershell安装过此模块请先卸载
运行以下命令卸载模块:
1 | Uninstall-Module -Name SharePointPnPPowerShellOnline -AllVersions -Force |
重新启动 PowerShell
有时,安装新模块后需要重新启动 PowerShell 窗口以加载新模块。
确保模块未被占用
有时PowerShell的其他脚本或进程可能会占用模块。确保没有其他PowerShell 实例正在运行。
确保新版 PnP.PowerShell 模块已正确安装
首先,确认新版模块是否已经安装成功:
1 | Get-Module -ListAvailable -Name PnP.PowerShell |
如果没有列出 PnP.PowerShell 模块,则需要重新安装:
1 | Install-Module -Name PnP.PowerShell -Scope CurrentUser -Force |
确保正确导入模块
如果模块已安装,但 PowerShell 未识别 Connect-PnPOnline cmdlet,尝试手动导入模块:
1 | *mport-Module PnP.PowerShell |
使用新版的连接命令
新版 PnP.PowerShell 模块中的连接命令有所不同,你应该使用 Connect-PnPOnline 来连接到 SharePoint。
请注意 URL 必须是站点根 URL,而不是文件链接。
尝试以下命令:
1 | Connect-PnPOnline -Url "https://yourdomain.sharepoint.com/sites/yourfolder" -Credentials (Get-Credential) |
总结
关闭所有 PowerShell 窗口,或以管理员权限重新启动 PowerShell 进行模块卸载。
卸载旧版模块
1 | Uninstall-Module -Name SharePointPnPPowerShellOnline -AllVersions -Force |
安装新版模块
1 | Install-Module -Name PnP.PowerShell -Scope CurrentUser -Force |
使用新版模块连接 SharePoint
1 | Connect-PnPOnline -Url "https://yourdomain.sharepoint.com/sites/yourfolder" -Credentials (Get-Credential) |