Do you clean useless calendars in SharePoint?
Updated by Brady Stroud [SSW] 1 year ago. See history
123
Most SharePoint site templates contain a calendar list, this will bring lots of useless calendars. Use the below PowerShell script to clean them:
$site = Get-SPSite("http://<site collection URL>/"); # Specify url hereforeach ($web in $site.AllWebs) {$lists = $web.Listsfor ($i=($lists.Count-1);$i -gt 0; $i--) {$list = $lists[$i]#Write-host $i $list.Title $list.BaseTemplate.ToString()if ($list.BaseTemplate.ToString().ToLower().contains('events')) {if ($list.Items.Count -eq 0){Write-Host $list.Items.Count "items in the list" $list.Title '('$list.BaseTemplate') at '$web.Url "- cleaning it!"$list.Recycle()#$list.Delete()}}}}
This script will put the calendars which do not have any events into Site Settings | Recycle Bin:

Figure: Empty Calendars in Recycle Bin folder