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