ปิดใช้งานการแจ้งเตือนในรายการ SharePoint 2013 โดยใช้ PowerShell
ความต้องการ: ปิดใช้งานอีเมลแจ้งเตือนในรายการ SharePoint ชั่วคราว
จะปิดใช้งานการแจ้งเตือนในรายการ SharePoint ได้อย่างไร
วัตถุการแจ้งเตือนของ SharePoint มีคุณสมบัติ "สถานะ" ซึ่งสามารถเปิดหรือปิดได้ เนื่องจากไม่มี UI ที่จะปิดใช้งานหรือเปิดใช้งานการแจ้งเตือนใน SharePoint โดยตรงจากเบราว์เซอร์ เราจึงสามารถดำเนินการดังกล่าวโดยทางโปรแกรมด้วย PowerShell นี่คือสคริปต์ PowerShell ของฉันเพื่อปิดใช้งานการแจ้งเตือนในรายการหรือไลบรารี SharePoint 2010/2013
ข้อสำคัญ: สคริปต์นี้ปิดใช้งานเฉพาะการแจ้งเตือนที่มีอยู่ในรายการหรือไลบรารีที่ระบุเท่านั้น! มันไม่ได้ (แน่นอน ไม่สามารถ!) ปิดการใช้งานการแจ้งเตือนใหม่ใด ๆ ที่คุณสร้างในรายการเฉพาะ! คุณอาจต้องปิดการแจ้งเตือนในระดับแอปพลิเคชันบนเว็บชั่วคราวโดยเปลี่ยนการตั้งค่าสถานะ "AlertsEnabled" เป็น "false" เช่นเดียวกับในวิธีปิดใช้งานการแจ้งเตือนใน SharePoint
สคริปต์ PowerShell เพื่อปิดใช้งานการแจ้งเตือนในรายการ SharePoint
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Function to Disable All Active Alerts on a Given List
Function Disable-ListAlerts($WebURL, $ListName)
{
#Get the Web and List objects
$Web = Get-SPWeb $WebURL
$List = $web.Lists.TryGetList($ListName)
#Get All Alerts created in the list - Which are Active
$ListAlerts = $Web.Alerts | Where-Object {($_.List.Title -eq $List.Title) -and ($_.Status -eq "ON")}
Write-host "Total Number of Active Alerts Found in the list: $($ListAlerts.Count)"
#Iterate through each alert and turn it OFF
foreach($Alert in $ListAlerts)
{
$Alert.Status="OFF"
$Alert.Update()
write-host "Disabled the Alert' $($Alert.Title)' Created for User '$($Alert.User.Name)'"
}
#Dispose web object
$Web.Dispose()
}
#Function to Enable all Disable Alerts on a Given List
Function Enable-ListAlerts($WebURL, $ListName)
{
#Get the Web and List objects
$Web = Get-SPWeb $WebURL
$List = $web.Lists.TryGetList($ListName)
#Get All Alerts created in the list - Which are in Disabled State
$ListAlerts = $Web.Alerts | Where-Object { ($_.List.Title -eq $List.Title) -and ($_.Status -eq "OFF")}
Write-host "Total Number of Disabled Alerts Found in the list: $($ListAlerts.Count)"
#Iterate through each alert and turn it OFF
foreach($Alert in $ListAlerts)
{
$Alert.Status="ON"
$Alert.Update()
write-host "Enabled the Alert' $($Alert.Title)' Created for User '$($Alert.User.Name)'"
}
#Dispose web object
$Web.Dispose()
}
#Variables
$WebURL = "https://operations.crescent.com/"
$ListName="Proposal Documents"
#Call the function Appropriately to Disable or Enable Alerts
Disable-ListAlerts $WebURL $ListName
#To Enable it back
#Enable-ListAlerts $WebURL $ListName
โปรดทราบว่าคุณต้องรอห้านาทีก่อนที่จะเปิดใช้งานการแจ้งเตือนอีกครั้ง (เนื่องจากงานตัวจับเวลาการแจ้งเตือนทันทีค้นหารายการที่แก้ไขในห้านาทีที่ผ่านมา) มิฉะนั้น คุณจะได้รับอีเมลจากการแจ้งเตือนที่ถูกปิดใช้งาน! ดังนั้น: ปิดการใช้งานการแจ้งเตือน - ทำการเปลี่ยนแปลงข้อมูล - รอห้านาที - เปิดใช้งานการแจ้งเตือนอีกครั้ง
โพสต์ที่เกี่ยวข้อง:
- ปิดใช้งานการแจ้งเตือนจากรายการหรือไลบรารี SharePoint 2010 ด้วย C#
- ปิดการใช้งานการแจ้งเตือนฉันใน SharePoint 2007/2010/2013 - วิธีปิดการใช้งานการแจ้งเตือนทั้งหมดใน SharePoint
- สร้าง - แก้ไข - ค้นหา - ลบการแจ้งเตือนของ SharePoint โดยใช้ PowerShell
