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

SharePoint Online: ลบประเภทเนื้อหาออกจากรายการโดยใช้ PowerShell


ข้อกำหนด: ลบประเภทเนื้อหาออกจากรายการ SharePoint Online

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

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

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

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

โปรดทราบว่าการดำเนินการนี้จะลบประเภทเนื้อหาออกจากรายการเท่านั้น โดยจะไม่ลบประเภทเนื้อหานั้นเอง หากคุณต้องการลบประเภทเนื้อหาทั้งหมด คุณจะต้องดำเนินการดังกล่าวจากหน้าการตั้งค่าไซต์

ลบประเภทเนื้อหาออกจากรายการโดยใช้ PowerShell ใน SharePoint Online

ชนิดเนื้อหาที่ไม่ได้ใช้ในรายการหรือไลบรารีสามารถลบได้ เมื่อต้องการเอาชนิดเนื้อหาออกจากรายการ SharePoint Online ให้ใช้สคริปต์ PowerShell นี้ คุณต้องระบุ URL ของไซต์ ชื่อประเภทเนื้อหา และชื่อรายการเป็นพารามิเตอร์


#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 Remove-ContentTypeFromList()
{ 
    param
    (
        [Parameter(Mandatory=$true)] [string] $SiteURL,
        [Parameter(Mandatory=$true)] [string] $ListName,
        [Parameter(Mandatory=$true)] [string] $ContentTypeName
    )

    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
        $List = $Ctx.Web.Lists.GetByTitle($ListName)
        $Ctx.Load($List)

        #Get the content type from list
        $ContentTypeColl = $List.ContentTypes
        $Ctx.Load($ContentTypeColl)
        $Ctx.ExecuteQuery()

        #Get the content type to remove
        $CTypeToRemove = $ContentTypeColl | Where {$_.Name -eq $ContentTypeName}
        If($CTypeToRemove -ne $Null)
        {
            #Remove content type from list
            $CTypeToRemove.DeleteObject()
            $Ctx.ExecuteQuery()

            Write-host "Content Type '$ContentTypeName' Removed From '$ListName'" -f Green
        }
        else
        {
            Write-host "Content Type '$ContentTypeName' doesn't exist in '$ListName'" -f Yellow
            Return 
        }
   }
    Catch {
        write-host -f Red "Error Removing Content Type from List!" $_.Exception.Message
    }
}

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

#Call the function
Remove-ContentTypeFromList -SiteURL $SiteURL -ListName $ListName -ContentTypeName $ContentTypeName

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

ลบประเภทเนื้อหาออกจากรายการ SharePoint Online โดยใช้ PnP PowerShell:

ในฐานะผู้ดูแลระบบ คุณอาจต้องลบชนิดเนื้อหาออกจากรายการ SharePoint Online ฉันจะแสดงวิธีเชื่อมต่อกับรายการหรือไลบรารี SharePoint Online ของคุณและลบชนิดเนื้อหาโดยใช้ PnP PowerShell:


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ListName ="Project Documents"
$ContentTypeName ="Invoice Template V2"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
$Context = Get-PnPContext

#Get the content type from list
$ListContentType = Get-PnPContentType -list $ListName -Identity $ContentTypeName
 
#Delete the content type from List
$ListContentType.DeleteObject() 
$Context.ExecuteQuery()

คุณยังสามารถลบประเภทเนื้อหาออกจากรายการโดยใช้ Remove-PnPContentTypeFromList cmdlet:


#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$ListName = "Projects"
$ContentTypeName ="Crescent Project Proposal V2"

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

#Remove content type from List
Remove-PnPContentTypeFromList -List $ListName -ContentType $ContentTypeName

ด้วยการทำตามขั้นตอนที่สรุปไว้ในบทความนี้ คุณสามารถเอาชนิดเนื้อหาออกจากรายการได้ตามต้องการได้อย่างง่ายดาย สิ่งนี้ช่วยให้คุณสามารถรักษาสภาพแวดล้อม SharePoint Online ที่สะอาดและเป็นระเบียบได้ ทำให้มั่นใจได้ว่ารายการและไลบรารีของคุณยังคงมีความเกี่ยวข้องและเป็นปัจจุบันสำหรับผู้ใช้ของคุณ

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

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