PowerShell kullanarak SharePoint 2013 Listesindeki Uyarıları Devre Dışı Bırakma
Gereksinim: SharePoint listesindeki Uyarı E-postalarını geçici olarak devre dışı bırakın.
SharePoint listesindeki uyarılar nasıl devre dışı bırakılır?
SharePoint Alert nesneleri, AÇIK veya KAPALI duruma getirilebilen “Durum” özelliğine sahiptir. SharePoint'teki uyarıları doğrudan tarayıcıdan devre dışı bırakmak veya etkinleştirmek için bir kullanıcı arayüzü olmadığından, bunu PowerShell ile programlı olarak yapabiliriz. İşte SharePoint 2010/2013 listesi veya kitaplığındaki uyarıları devre dışı bırakmak için PowerShell betiğim.
Önemli: Bu komut dosyası YALNIZCA belirli bir liste veya kitaplıktaki mevcut uyarıları devre dışı bırakır! Belirli bir listede oluşturduğunuz yeni uyarıları devre dışı bırakmaz (tabii ki yapamaz!)! SharePoint'te Uyarıları Devre Dışı Bırakma bölümündeki gibi "AlertsEnabled" işaretini "false" olarak değiştirerek web uygulaması düzeyinde uyarıları geçici olarak kapatmanız gerekebilir.
SharePoint listesindeki uyarıları devre dışı bırakmak için PowerShell betiği
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
Uyarıları tekrar etkinleştirmeden önce Beş dakika beklemeniz gerektiğini lütfen unutmayın (Çünkü Acil uyarı zamanlayıcı işi son Beş dakika içinde değiştirilen öğeleri arar). Aksi takdirde, devre dışı bırakılan uyarılardan E-postalar alırsınız! Yani: Uyarıları Devre Dışı Bırak - Verilerde değişiklik yapın - Beş Dakika Bekleyin - Uyarıları tekrar etkinleştirin.
İlgili Gönderiler:
- C# ile SharePoint 2010 Listesinden veya Kitaplığından Uyarıları Devre Dışı Bırakma
- SharePoint 2007/2010/2013'te beni uyarmayı devre dışı bırak - SharePoint'teki Tüm Uyarılar Nasıl Devre Dışı Bırakılır?
- PowerShell'i kullanarak SharePoint Uyarılarını Oluşturun - Düzenleyin - Bul - Sil
