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"
E.g.
Change quota for SharePoint Site Collections programmatically:
To set site collection quota for SharePoint sites programmatically using PowerShell, The code goes like:
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)
To apply quota for SharePoint site collection using PowerShell, the syntax goes like:
Set-SPSite -Identity "Site-collection-URL" -QuotaTemplate "Quota-Template-Name"
E.g.
Set-SPSite -Identity "http://sharePoint.company.com/sites/sales" -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:
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") [Void]System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration") 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 "http://sharepoint.company.com/" $site.quota=$QuotaTemplate
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 = "http://sharepoint.crescent.com" $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 }