Create Bulk Alerts from CSV File in SharePoint using PowerShell
Requirement:
Create alerts on a bunch of libraries in different site collections of a SharePoint Web application!
Solution: Identified and exported a list of Sites and Document Library names in the CSV file and used this PowerShell script to create multiple alerts.
PowerShell script to create bulk alerts from CSV File:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Function to Create alert on Given List to given users
Function Create-Alert([Microsoft.SharePoint.SPList]$List,[Microsoft.SharePoint.SPUser]$User)
{
$newAlert = $user.Alerts.Add()
$newAlert.Title = "Minitoring Alert for: "+$List.Title
$newAlert.AlertType=[Microsoft.SharePoint.SPAlertType]::List
$newAlert.List = $List
$newAlert.DeliveryChannels = [Microsoft.SharePoint.SPAlertDeliveryChannels]::Email
$newAlert.EventType = [Microsoft.SharePoint.SPEventType]::Add
$newAlert.AlertFrequency = [Microsoft.SharePoint.SPAlertFrequency]::Immediate
$newAlert.Update()
}
#Configuration parameters
$CSVPath= "C:\Alerts.csv"
$UserAccount= "Crescent\Salaudeen"
#Get the CSV Data
$CSVData = Import-CSV -path $CSVPath
#Iterate through each Row in the CSV
foreach ($row in $CSVData)
{
Write-host Creating Alerts on $Row.URL, Library: $Row.LibraryName
#Get the Web and List
$Web = Get-SPWeb $Row.URL.TRIM()
$List = $Web.Lists[$Row.LibraryName.Trim()]
$user = $web.EnsureUser($UserAccount)
#Call the function to create Alert
Create-Alert $List $User
}
Here is my CSV File:
nice
You made it so easy. Thank you!