Disable Throttling on SharePoint List using PowerShell

Throttling feature helps to avoid performance hits in SharePoint. We set throttling limits for entire web application. Its not possible to set throttling limits on specific SharePoint list or library. But we can disable/enable throttling on SharePoint lists.

PowerShell to disable list throttling:
Use the below script to disable list throttling in SharePoint 2010 using PowerShell
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Variables for Site URL and List Name
$WebURL = "http://sales.crescent.com"
$ListName = "Proposal Documents"
 
#Get the Site and List objects
$web = Get-SPWeb $WebURL
$List = $Web.Lists[$ListName]

#Disable throttling on the list
$list.EnableThrottling = $false
$List.Update() 

Find All Lists with List Throttling disabled
To find all lists with list throttling disabled in your SharePoint environment, use this PowerShell script. It scans all web applications in the current environment for lists with throttling disabled and exports the results to a CSV file.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
 
#Get All Web Applications
$WebAppsCollection = Get-SPWebApplication
 
#Array to Hold Result
$ThrottlingLists = @()

#Loop through each web application 
foreach($WebApp in $WebAppsCollection)
{
    #Loop through each site collection 
    foreach($Site in $WebApp.Sites)
    {
	    #Loop through each web
        foreach($Web in $Site.AllWebs)
        {
            Write-host "Scanning site:"$Web.URL             
            foreach($List in $Web.Lists)
            {
                if($list.EnableThrottling -eq $False)
                {
                    $Result = New-Object PSObject
                    $Result | Add-Member NoteProperty Title($list.Title)
                    $Result | Add-Member NoteProperty URL($web.URL)                     
                    #Add the object with property to an Array
                    $ThrottlingLists += $Result
                }
            }
        }
    }
}
Write-host "Total Number of Lists with Throttling disabled:"$ThrottlingLists.Count -f Green
 
#Export the result Array to CSV file
$ThrottlingLists | Export-CSV "c:\temp\ThrottlingListData.csv" -NoTypeInformation
Related post: Configure Resource Throttling in SharePoint 2013 using PowerShell

2 comments:

  1. how to you get a report of which lists have been throttled in a site collection or a web/app?

    ReplyDelete
    Replies
    1. Article updated with a script to scan and get the inventory of lists with throttling disabled!

      Delete

Please Login and comment to get your questions answered!

Powered by Blogger.