ค้นหาเว็บไซต์

SharePoint Online: วิธีสร้างเทมเพลตรายการโดยใช้ PowerShell


ความต้องการ: สร้างเทมเพลตรายการใน SharePoint Online

จะสร้างเทมเพลตรายการใน SharePoint Online ได้อย่างไร

เทมเพลตรายการใน SharePoint Online ช่วยให้สามารถนำกลับมาใช้ใหม่ได้โดยไม่ต้องสร้างทุกฟิลด์และการตั้งค่าอื่นๆ ในรายการ SharePoint ใหม่ เช่น คุณสามารถสร้างรายการแบบกำหนดเอง (เช่น โครงการ) ในไซต์คอลเลกชัน SharePoint ที่มีคอลัมน์ที่เกี่ยวข้องทั้งหมด จากนั้นคุณอาจต้องการโครงสร้างรายการนั้นในไซต์คอลเลกชันอื่นๆ โดยไม่ต้องสร้างรายการใหม่ในทุกไซต์ เมื่อต้องการสร้างเทมเพลตรายการใน SharePoint Online ให้ทำตามขั้นตอนเหล่านี้:

  1. ไปที่รายการ SharePoint Online ของคุณ >> นำทางไปยังการตั้งค่า >> การตั้งค่ารายการ
  2. คลิกที่ "บันทึกรายการเป็นเทมเพลต" ใต้กลุ่มสิทธิ์และการจัดการ

  3. ระบุชื่อไฟล์และชื่อเทมเพลต

  4. เลือกตัวเลือกที่เหมาะสมสำหรับ “รวมเนื้อหา” แล้วคลิกตกลงเพื่อสร้างเทมเพลตรายการใน SharePoint Online คุณสามารถใช้ขั้นตอนข้างต้นเพื่อบันทึกไลบรารีเอกสารเป็นเทมเพลตและใน SharePoint Online

SharePoint Online: บันทึกรายการเป็นเทมเพลตโดยใช้ PowerShell

เมื่อคุณต้องการสร้างรายการใน SharePoint Online ซ้ำๆ ด้วยคอลัมน์และรายการบางรายการ คุณอาจพบว่าการบันทึกรายการเป็นเทมเพลตมีประโยชน์ จากนั้นคุณสามารถสร้างอินสแตนซ์รายการใหม่ได้อย่างง่ายดายโดยใช้เทมเพลต ลองใช้ PowerShell เพื่อบันทึกรายการเป็นเทมเพลตใน SharePoint Online:


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
 
#Set parameter values
$SiteURL="https://Crescent.sharepoint.com/"
$ListName="Projects"

#Configure Save list as template parameters
$FileName="Projects Template"
$TemplateName="Projects Template"
$Description ="List Template for Projects"
$IncludeData = $False

Try{
    #Get Credentials to connect
    $Cred= Get-Credential
  
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
 
    #Get the List
    $List = $Ctx.Web.lists.GetByTitle($ListName)
    $List.SaveAsTemplate($FileName, $TemplateName, $Description, $IncludeData)
    $Ctx.ExecuteQuery()

    Write-Host -f Green "List Saved as Template!"
}
Catch {
        write-host -f Red "Error Saving List as template!" $_.Exception.Message
} 

สคริปต์ PowerShell นี้สร้างเทมเพลตรายการใน SharePoint Online

รายการบันทึก SharePoint Online เป็น URL เทมเพลต - https://YourDomain.SharePoint.com/_layouts/15/savetmpl.aspx?List={LIST-GUID}

บันทึกรายการเป็นเทมเพลตไม่ปรากฏใน SharePoint Online ใช่ไหม นี่คือการแก้ไข: SharePoint Online: บันทึกรายการเป็นเทมเพลตหายไปใช่ไหม

PnP PowerShell เพื่อบันทึกรายการเป็นเทมเพลต

ต่อไปนี้เป็นวิธีบันทึกรายการเป็นเทมเพลตใน SharePoint Online โดยใช้ PnP PowerShell:


#Parameters
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"
$ListName = "Documents"
$TemplateFileName = "DocumentsTemplate.stp"
$TemplateName = "DocumentsTemplate"
$TemplateDescription=""
$IncludeData = $False
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-credential)
$Context  = Get-PnPContext

#Get the List
$List = Get-PnpList -Identity $ListName

#Save List as template
$List.SaveAsTemplate($TemplateFileName, $TemplateName, $TemplateDescription, $IncludeData)
$Context.ExecuteQuery()

สิ่งนี้มีประโยชน์ถ้าคุณต้องการสร้างรายการใหม่ที่คล้ายกับรายการที่มีอยู่ หรือถ้าคุณต้องการสร้างเทมเพลตที่คุณสามารถใช้สำหรับรายการในอนาคต หากต้องการลบเทมเพลตรายการที่มีอยู่ โปรดดูวิธีการลบเทมเพลตรายการใน SharePoint Online โดยใช้ PowerShell

บทความที่เกี่ยวข้อง