Tìm kiếm trang web

SharePoint Online: Sao chép danh sách hoặc thư viện tài liệu sang trang web khác bằng PnP PowerShell


Yêu cầu: Sao chép Thư viện Tài liệu sang trang khác bằng PowerShell.

SharePoint Online: Sao chép Thư viện Tài liệu sang một trang web khác bằng PnP PowerShell

Công cụ cung cấp PnP cho phép chúng tôi sao chép các đối tượng trang như danh sách và thư viện, cột trang, loại nội dung, giao diện tổng hợp, trang, v.v. Chúng tôi có thể xuất tùy chỉnh hiện có sang tệp XML và sử dụng nó làm mẫu để tạo các đối tượng mới từ đó. Chúng tôi có thể sao chép danh sách và thư viện giữa các tuyển tập trang SharePoint Online với sự trợ giúp của Công cụ cung cấp PnP. Đây là tập lệnh PowerShell:

Sử dụng phương pháp mẫu cung cấp PnP để sao chép danh sách

Bước 1: Lấy lược đồ danh sách từ Trang nguồn
Với công cụ cung cấp PnP, trước tiên chúng ta cần trích xuất lược đồ danh sách:


#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

Tập lệnh này tạo một tệp mẫu XML chứa tất cả lược đồ danh sách từ trang SharePoint Online, sau đó lọc để lấy danh sách cụ thể.

Bước 2: Áp dụng Mẫu cho Trang đích
Khi chúng tôi đã có sẵn tệp XML mẫu, chúng tôi có thể nhập nó vào bất kỳ tuyển tập trang nào, như:


#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

Tập lệnh PowerShell này sao chép danh sách hoặc thư viện tài liệu từ trang nguồn sang tuyển tập trang đích.

Nếu bạn muốn sao chép các mục danh sách giữa các danh sách, hãy sử dụng: Cách sao chép các mục danh sách giữa các danh sách trong SharePoint Online bằng PowerShell?

Sao chép cấu trúc danh sách bằng cách sử dụng Thiết kế trang web và Tập lệnh trang web

Đây là cách bạn có thể sao chép cấu trúc danh sách bằng cách sử dụng thiết kế trang và tập lệnh với 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

Ngoài ra, bạn có thể sử dụng phương pháp “Tạo danh sách từ Danh sách hiện có” hoặc PowerShell để sao chép danh sách hoặc thư viện tài liệu sang một trang khác. Làm cách nào để sao chép danh sách sang trang khác trong SharePoint Online?

Bài viết liên quan