Tìm kiếm trang web

SharePoint Online: Loại bỏ Loại Nội dung khỏi Danh sách bằng PowerShell


Yêu cầu: Xóa loại Nội dung khỏi Danh sách SharePoint Online.

Làm cách nào để xóa loại nội dung khỏi danh sách trong SharePoint Online?

Kiểu nội dung là các bộ sưu tập siêu dữ liệu có thể sử dụng lại để xác định các cột và hành vi của các mục trong danh sách hoặc thư viện. Có thể có những tình huống mà bạn cần loại bỏ kiểu nội dung khỏi danh sách hoặc thư viện. Bạn có thể loại bỏ kiểu nội dung được liên kết với danh sách trong SharePoint Online khi bạn không còn cần đến nó nữa. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn quy trình loại bỏ loại nội dung khỏi danh sách SharePoint Online bằng PowerShell.

Để xóa một kiểu nội dung khỏi danh sách SharePoint Online, hãy làm như sau:

  1. Đầu tiên, Đăng nhập vào trang SharePoint Online của bạn >> Điều hướng đến cài đặt danh sách hoặc thư viện.
  2. Tiếp theo, trong “Loại nội dung”, Nhấp vào tên loại nội dung thích hợp mà bạn muốn xóa khỏi Danh sách.
  3. Cuối cùng, nhấp vào liên kết “Xóa loại nội dung này” trên trang Danh sách Loại nội dung và xác nhận lời nhắc một lần để xóa loại nội dung khỏi danh sách.

Hãy nhớ rằng thao tác này sẽ chỉ xóa loại nội dung khỏi danh sách - nó sẽ không xóa chính loại nội dung đó. Nếu bạn cần xóa hoàn toàn kiểu nội dung, bạn sẽ cần thực hiện việc đó từ trang cài đặt trang.

Xóa Loại nội dung khỏi Danh sách bằng PowerShell trong SharePoint Online

Các loại nội dung không được sử dụng trong danh sách hoặc thư viện có thể bị xóa. Để loại bỏ loại nội dung khỏi danh sách SharePoint Online, hãy sử dụng tập lệnh PowerShell này. Bạn cần chỉ định URL trang web, tên loại nội dung và tên danh sách làm tham số.


#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

Để xác nhận rằng kiểu nội dung đã được loại bỏ thành công khỏi danh sách, hãy dẫn hướng đến thiết đặt danh sách trong trang SharePoint Online và kiểm tra danh sách các kiểu nội dung. Loại nội dung bạn đã xóa sẽ không còn được liệt kê nữa.

Xóa Loại nội dung khỏi Danh sách SharePoint Online bằng PnP PowerShell:

Với tư cách là quản trị viên, bạn có thể cần xóa loại nội dung khỏi danh sách SharePoint Online. Hãy để tôi chỉ cho bạn cách kết nối với danh sách hoặc thư viện SharePoint Online và xóa loại nội dung bằng 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()

Bạn cũng có thể xóa loại nội dung khỏi danh sách bằng lệnh ghép ngắn Remove-PnPContentTypeFromList:


#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

Bằng cách làm theo các bước được nêu trong bài viết này, bạn có thể dễ dàng loại bỏ các kiểu nội dung khỏi danh sách nếu cần. Điều này cho phép bạn duy trì môi trường SharePoint Online sạch sẽ và có tổ chức, đảm bảo rằng danh sách và thư viện của bạn luôn phù hợp và cập nhật cho người dùng.

Xin lưu ý, bạn không thể xóa loại nội dung khỏi danh sách nếu danh sách có bất kỳ mục nào được tạo dựa trên loại nội dung cụ thể mà bạn muốn xóa! Điều này có thể dẫn đến lỗi “Loại nội dung vẫn đang được sử dụng”, cả từ giao diện người dùng SharePoint hoặc sử dụng PowerShell để xóa loại nội dung khỏi danh sách. Đây là một bài đăng khác có thể trợ giúp: Nhận "Loại nội dung danh sách vẫn đang được sử dụng" trong SharePoint Online? Tìm hiểu nơi sử dụng PowerShell

Bài viết liên quan