The PowerShell below allows you to list out in CSV format all the Alerts users have set on all lists in all sites, in all site collections, in all the web applications in a SharePoint Farm.
This script is a modification of the script at http://www.deliveron.com/blog/post/Find-all-Alerts-in-a-Site-Collection-in-SharePoint-2010.aspx by Jess Collicott which listed a site collection’s alerts.
#################################################################################################### # # Author.......: Khalid Ansari # Date.........: 07 Apr 2014 # Description..: Output alerts set on all sites in all site collections in all web apps in the farm # to a CSV file # #################################################################################################### Add-PSSnapin microsoft.sharepoint.powershell $spAssignment = Start-SPAssignment $webApps = Get-SPWebApplication -IncludeCentralAdministration $alertResults = @() foreach($webApp in $webApps) { $webApp.url foreach ($site in $webApp.Sites) { $site.url foreach ($web in $site.AllWebs) { $web.url foreach ($alert in $web.Alerts){ $alertResult = New-Object PSObject $alertResult | Add-Member -type NoteProperty -name "List URL" -value ($web.URL + "/" + $alert.ListUrl) $alertResult | Add-Member -type NoteProperty -name "Alert Title" -value $alert.Title $alertResult | Add-Member -type NoteProperty -name "Alert Type" -value $alert.AlertType $alertResult | Add-Member -type NoteProperty -name "Subscribed User" -value $alert.User $alertResults += $alertResult } } } } $alertResults $alertResults | Export-CSV "FarmAlerts.csv" Write-Host Write-Host "Script Completed" Stop-SPAssignment $spAssignment
The script will create a file called FarmAlerts.csv with a list of all the alerts.