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

SharePoint Online: วิธีปิดการใช้งาน "ลบรายการนี้"


ข้อกำหนด: ปิดใช้งานตัวเลือก "ลบ" ในรายการ SharePoint Online หรือไลบรารีเอกสาร

วิธีปิดการใช้งานตัวเลือกลบสำหรับรายการหรือไลบรารีใน SharePoint Online

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

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

PowerShell เพื่อปิดใช้งานการลบในรายการ SharePoint Online

มาเปลี่ยนการตั้งค่าสถานะ "อนุญาตให้ลบ" เป็น "เท็จ" เพื่อป้องกันการลบ


Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking

#Set Parameters for Site URL and List Name
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"
$ListName= "config"
 
#Setup Credentials to connect
$Cred = Get-Credential
 
Try {
    #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)
 
    #disable delete in sharepoint online list
    $List.AllowDeletion = $False
    $List.Update()
    $Ctx.ExecuteQuery()
         
    Write-host -f Green "List Settings Updated Successfully!"
}
Catch {
    write-host -f Red "Error Updating List Settings!" $_.Exception.Message
}

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


#Set Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Projects"
$ListName = "Inventory"

#Connect to SharePoint Online site
Connect-PnPOnline -Url $SiteURL -Interactive

#Disable delete in sharepoint online document library
$List = Get-PnPList -Identity $ListName -Includes AllowDeletion
$List.AllowDeletion = $False
$List.Update()
Invoke-PnPQuery

SharePoint Online ไม่สามารถลบรายการได้
เมื่อตั้งค่าสถานะ “AllowDeletion” เป็นเท็จ เราจะไม่สามารถลบรายการผ่าน UI บนเว็บหรือ PowerShell ได้จนกว่าเราจะเปลี่ยนการตั้งค่าสถานะเป็น “จริง” . คุณจะได้รับข้อความว่า “รายการนี้ไม่สามารถลบได้” เกิดข้อผิดพลาดหากคุณพยายามลบมัน ถ้าคุณต้องลบรายการที่ไม่มีลิงก์ลบ ให้ใช้: วิธีลบรายการใน SharePoint Online โดยใช้ PowerShell

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