当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:使用 PnP PowerShell 将列表或文档库复制到另一个站点

作者:精品下载站 日期:2024-12-14 21:15:11 浏览:16 分类:玩电脑

SharePoint Online:使用 PnP PowerShell 将列表或文档库复制到另一个站点


要求:使用 PowerShell 将文档库复制到另一个站点。

SharePoint Online:使用 PnP PowerShell 将文档库复制到另一个网站

PnP 配置引擎允许我们复制站点对象,例如列表和库、站点栏、内容类型、组合外观、页面等。我们可以将现有自定义导出到 XML 文件,并将其用作模板来创建新对象。我们可以借助 PnP 配置引擎在 SharePoint Online 网站集之间复制列表和库。这是 PowerShell 脚本:

使用 PnP 配置模板方法复制列表

第 1 步:从源站点获取列表架构
使用 PnP 配置引擎,我们需要首先提取列表架构:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing/"
$ListName = "Project Tasks"
$TemplateFile = "C:\Temp\ListSchema.xml"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Get the List schema as Template and export to a File
$Templates = Get-PnPSiteTemplate -OutputInstance -Handlers Lists
$ListTemplate = $Templates.Lists | Where-Object { $_.Title -eq $ListName }
$Templates.Lists.Clear()
$Templates.Lists.Add($ListTemplate)
Save-PnPSiteTemplate -InputInstance $Templates -Out $TemplateFile

此脚本创建一个 XML 模板文件,其中包含 SharePoint Online 网站中的所有列表架构,然后进行筛选以获取特定列表。

第 2 步:将模板应用到目标网站
准备好模板 XML 文件后,我们可以将其导入到任何网站集,如下所示:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Operations/"
$TemplateFile = "C:\Temp\ListSchema.xml"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

Write-Host "Creating List from Template..."
Invoke-PnPSiteTemplate -Path $TemplateFile

此 PowerShell 脚本将列表或文档库从源网站复制到目标网站集。

如果要在列表之间复制列表项,请使用:如何使用 PowerShell 在 SharePoint Online 中的列表之间复制列表项?

使用网站设计和网站脚本复制列表结构

以下是如何使用站点设计和 PowerShell 脚本复制列表结构:


#Define Parameters
$AdminCenterURL = "https://crescent-admin.sharepoint.com"
$ListURL = "https://crescent.sharepoint.com/sites/marketing/Lists/Source"
$TargetSiteURL = "https://crescent.sharepoint.com/sites/procurement/"

#Connect to SharePoint Online
Connect-SPOService -Url $AdminCenterURL -credential (Get-Credential)

#Get the list schema
$ListSchema = Get-SPOSiteScriptFromList -ListUrl $ListURL

#Add list schema as Site Script 
$SiteScript = Add-SPOSiteScript -Title "Project Tasks List" -Content $ListSchema

#Create a Site Design
$SiteDesign = Add-SPOSiteDesign -Title "Provision Project Tasks List" -WebTemplate 64 -SiteScripts $SiteScript.Id

#Apply Site Design to site
Invoke-SPOSiteDesign -Identity $SiteDesign.Id -WebUrl $TargetSiteURL

或者,您可以使用“从现有列表创建列表”或 PowerShell 方法将列表或文档库复制到另一个站点。如何将列表复制到 SharePoint Online 中的另一个网站?

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯