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
