SharePoint Online: Thay đổi lịch cảnh báo bằng PowerShell
Yêu cầu: Thay đổi Lịch cảnh báo từ “Ngay lập tức” thành “Hàng ngày” cho tất cả cảnh báo của một người dùng cụ thể trong tuyển tập trang SharePoint Online.
Trường hợp kinh doanh: Người dùng SharePoint đã đăng ký nhận cảnh báo trong nhiều danh sách và thư viện khác nhau trong tuyển tập trang SharePoint Online. Cảnh báo được tạo với tần suất "Ngay lập tức", tràn ngập Hộp thư đến của anh ấy vì nội dung được thêm vào các Danh sách SharePoint này thường xuyên. Vì vậy, người dùng muốn thay đổi tần suất cảnh báo thành bản tóm tắt hàng ngày cho tất cả các cảnh báo mình đã tạo. Làm cách nào để thay đổi tần suất cảnh báo từ tức thời sang hàng ngày trong SharePoint?
Người dùng SharePoint có thể cập nhật bất kỳ cảnh báo hiện có nào của họ bằng cách:
- Đi tới danh sách hoặc thư viện nơi bạn đã tạo cảnh báo >> Nhấp vào “Quản lý cảnh báo của tôi” từ thanh công cụ cài đặt danh sách.
- Chọn cảnh báo từ danh sách cảnh báo được hiển thị để mở cảnh báo ở chế độ chỉnh sửa.
Bây giờ bạn có thể điều chỉnh bất kỳ thuộc tính nào của cảnh báo như tần suất, lịch trình, loại thay đổi, v.v.
Cập nhật từng cảnh báo trong một tuyển tập trang lớn không thực sự là một nhiệm vụ dễ dàng phải không? Vì vậy, hãy sử dụng PowerShell để cập nhật tất cả cảnh báo của Người dùng trong bộ sưu tập trang SharePoint Online.
PowerShell để thay đổi lịch cảnh báo trong SharePoint Online:
Hãy sử dụng PowerShell để thay đổi lịch trình của tất cả cảnh báo của một người dùng cụ thể trong tuyển tập trang SharePoint Online.
#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"
#Custom Function to Set Alert Schedule
Function Set-SPOAlertSchedule()
{
param
(
[Parameter(Mandatory=$true)] [string] $SiteURL,
[Parameter(Mandatory=$true)] [string] $UserID,
[Parameter(Mandatory=$true)] [string] $Schedule
)
Try {
Write-host -f Yellow "Searching Site '$SiteURL' for Alerts of the User '$UserID'"
#Setup Credentials to connect
$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 web and its sub-sites
$Web = $Ctx.Web
$Ctx.Load($Web)
$Ctx.Load($Web.Webs)
$Ctx.ExecuteQuery()
#Get All Alerts of the User
$User = $Web.EnsureUser($UserID)
$UserAlerts = $User.Alerts
$Ctx.Load($User)
$Ctx.Load($UserAlerts)
$Ctx.ExecuteQuery()
#Loop through each alert
#Write-host "Total Alerts of the User:"$UserAlerts.Count
ForEach($Alert in $UserAlerts)
{
$Ctx.Load($Alert.List)
#Update the Alert Schedule
$Alert.AlertFrequency = [Microsoft.SharePoint.Client.AlertFrequency]::$Schedule
$Alert.UpdateAlert()
$Ctx.ExecuteQuery()
Write-host -f Green "Alert '$($Alert.Title)' Updated on list '$($Alert.List.Title)'!"
}
#Iterate through each subsite of the current web and call the function recursively
foreach ($Subweb in $Ctx.web.Webs)
{
#Call the function recursively to process all subsites underneaththe current web
Set-SPOAlertSchedule -SiteURL $Subweb.url -UserID $UserID -Schedule "Daily"
}
}
Catch {
write-host -f Red "Error Updating Alert!" $_.Exception.Message
}
}
#Call the function
Set-SPOAlertSchedule -SiteURL "https://Crescent.sharepoint.com/" -UserID "Salaudeen@TheCrescentTech.com" -Schedule "Daily"
Theo mặc định, cảnh báo trong SharePoint Online được đặt để gửi thông báo ngay sau khi thực hiện thay đổi, nhưng bạn cũng có thể thiết lập cảnh báo để gửi thông báo theo lịch như được giải thích trong bài đăng này. Thay đổi lịch cảnh báo trong SharePoint Online là một quy trình đơn giản có thể giúp bạn quản lý cảnh báo của mình hiệu quả hơn. 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 sửa đổi lịch cảnh báo cho một danh sách hoặc thư viện cụ thể và đảm bảo rằng bạn nhận được thông báo vào thời điểm thích hợp.
Bạn có thể cập nhật cảnh báo trong SharePoint On-Premise bằng PowerShell: Cách cập nhật cảnh báo SharePoint bằng PowerShell
