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

SharePoint Online: เปิดใช้งานประเภทเนื้อหาโดยใช้ PowerShell


ตามชื่อที่แนะนำ ประเภทเนื้อหาจะกำหนดประเภทของเนื้อหา เช่น รายการหรือเอกสาร ในสถานการณ์จริง ชนิดเนื้อหาอาจอ้างอิงถึงเทมเพลตใบแจ้งหนี้ เอกสารแผนโครงการ ฯลฯ ประเภทเนื้อหาให้วิธีการที่มีประสิทธิภาพในการจัดกลุ่มคอลัมน์ที่เกี่ยวข้อง (เมตาดาต้า) เทมเพลตเอกสาร เวิร์กโฟลว์ และนโยบายเข้าด้วยกัน และช่วยสร้างมาตรฐาน แม่แบบสำหรับการนำกลับมาใช้ใหม่ โดยทั่วไปแล้ว ชนิดเนื้อหาจะถูกสร้างขึ้นที่ไซต์ระดับบนสุด เนื่องจากมีลักษณะเป็นลำดับชั้น กล่าวอีกนัยหนึ่ง ชนิดเนื้อหาที่สร้างขึ้นที่ไซต์รากจะได้รับการสืบทอดไปยังไซต์ย่อยทั้งหมดโดยอัตโนมัติ ซึ่งช่วยประหยัดเวลาได้มากเนื่องจากคุณต้องสร้างประเภทเนื้อหานั้นเพียงครั้งเดียวและนำมาใช้ซ้ำทุกที่ที่จำเป็น

จะเปิดใช้งานประเภทเนื้อหาใน SharePoint Online ได้อย่างไร

ก่อนที่จะเพิ่มชนิดเนื้อหาลงในรายการหรือไลบรารี เราต้องเปิดใช้งานการจัดการชนิดเนื้อหาในการตั้งค่ารายการหรือไลบรารี เมื่อต้องการเปิดใช้งานชนิดเนื้อหาในรายการ SharePoint Online ให้ทำตามคำแนะนำเหล่านี้ทีละขั้นตอน:

  1. นำทางไปยังรายการ >> การตั้งค่า >> การตั้งค่ารายการ >> การตั้งค่าขั้นสูง
  2. ตั้งค่า "ใช่" สำหรับ "อนุญาตการจัดการประเภทเนื้อหาหรือไม่" และกดปุ่ม OK เพื่อบันทึกการเปลี่ยนแปลงของคุณ

ถ้าคุณกลับไปที่การตั้งค่ารายการ คุณจะพบส่วนที่เรียกว่า "ประเภทเนื้อหา" พร้อมด้วยรายการหรือประเภทเนื้อหาเริ่มต้นของไลบรารีใดรายการหนึ่ง (เช่น รายการสำหรับรายการแบบกำหนดเอง!) คุณสามารถเพิ่มประเภทเนื้อหาที่มีอยู่ลงในรายการได้ทันที!

PowerShell เพื่อเปิดใช้งานประเภทเนื้อหาในรายการ SharePoint Online โดยใช้ PowerShell

ถ้าคุณเป็นผู้ใช้ SharePoint Online คุณอาจต้องเปิดใช้งานชนิดเนื้อหาเป็นครั้งคราว ซึ่งสามารถทำได้ง่ายๆ โดยใช้ PowerShell ฉันจะแสดงวิธีใช้ 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"

#function to turn ON Content Type in SharePoint Online list or library
Function Enable-ContentTypes()
{ 
    param
    (
        [Parameter(Mandatory=$true)] [string] $SiteURL,
        [Parameter(Mandatory=$true)] [string] $ListName
    )

    Try {
        $Cred= Get-Credential
        $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Credentials
        
        #Get the List object
        $List = $Ctx.Web.Lists.GetByTitle($ListName)
        $Ctx.Load($List)
        $Ctx.ExecuteQuery()

        #Check if content types are already enabled
        If($List.ContentTypesEnabled -eq $True)
        {
            Write-host "Content Types Already Enabled in the given List!" -ForegroundColor Yellow
        }
        else
        {
            #enable content types in the list
            $List.ContentTypesEnabled=$True
            $List.Update()
            $Ctx.ExecuteQuery()

            Write-host "Content Types Enabled for given List Successfully!" -ForegroundColor Green  
        }
    }
    Catch {
        write-host -f Red "Error enabling Content Type!" $_.Exception.Message
    } 
} 

#Set parameter values
$SiteURL="https://crescent.sharepoint.com"
$ListName="Projects"

#Call the function
Enable-ContentTypes -SiteURL $SiteURL -ListName $ListName

วิธีนี้จะเป็นประโยชน์ถ้าคุณต้องการเปิดใช้งานชนิดเนื้อหาอย่างรวดเร็วสำหรับรายการหรือไลบรารีเฉพาะ หรือถ้าคุณต้องการปิดใช้งานชนิดเนื้อหา

PnP PowerShell เพื่อเปิดใช้งานประเภทเนื้อหาในรายการ SharePoint Online:

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


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ListName = "Projects"

#Connect to Site collection from PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Enable Content Type
Set-PnPList -Identity $ListName -EnableContentTypes $True

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