Change SharePoint Site Collection Quota using PowerShell

In some cases, I have seen site collection quotas are turned to "Individual Quota" in database attachment method, even I copied the quota templates before database attachment. All quota settings are lost! I dunno the cause of this issue and want to apply site collection quota to existing sites.

To apply quota for SharePoint site collection using PowerShell, the syntax goes like:
Set-SPSite -Identity "Site-collection-URL" -QuotaTemplate "Quota-Template-Name"

Set-SPSite -Identity "" -QuotaTemplate "Gold - 1 GB"
Where "Gold - 1 GB" is our existing quota defined! We can apply quotas in bulk with PowerShell now!

Change quota for SharePoint Site Collections programmatically:
To set site collection quota for SharePoint sites programmatically using PowerShell, The code goes like:

function global:Get-SPSite($url)
    return new-Object Microsoft.SharePoint.SPSite($url)

$contentService =[Microsoft.SharePoint.Administration.SPWebService]::ContentService

$QuotaTemplate = $contentService.QuotaTemplates["Gold - 1 GB"]
$site = Get-SPSite ""

Set Individual Quotas using PowerShell:
#Set the site URL variable accordingly!
$SiteURL = ""

Set-SPSite -Identity $SiteURL -MaxSize 1GB -WarningSize 900MB 

Bulk update SharePoint Site collection quotas:
In an another case, Got a requirement to change quota template for all site collections under a specific managed path (say: Departments)
$WebAppURL = ""

$TemplateName ="Gold - 1 GB"

$contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$quotaTemplate = $contentService.QuotaTemplates[$TemplateName]

Get-SPWebApplication $WebAppURL | Get-spsite -limit all | Where-Object {$_.ServerRelativeUrl.StartsWith("/departments/")} |  ForEach-Object { $_.Quota = $quotaTemplate }

To Remove a Quota Assigned (either via Quota Template or Individual Quota) to a Site collection, Use:
$Site = Get-SPSite -Identity ""
$Site.Quota = $null           

SharePoint 2007 - Set quotas in Bulk with STSADM:
We can set site collection quota in bulk using stsadm -o updatequota command line. Its available after installing SharePoint Administration Toolkit version 4.0

E.g. stsadm –o updatequota –quotaname "Name of the Quota defined in Central Admin" 
Its also possible to limit the quota changes with in a content database. More info:  
Change SharePoint Site Collection Quota using PowerShell Change SharePoint Site Collection Quota using PowerShell Reviewed by Salaudeen Rajack on August 31, 2013 Rating: 5

No comments:

Please Login and comment to get your questions answered!

Powered by Blogger.