OneDrive for Business comes with 1TB of personal storage for every user, by default – but some organisations may have reasons to restrict the available storage. That capability was recently added, using the Set-SPOSite
PowerShell command but I came across a “gotcha” that even had Microsoft stumped for a while.
I found that I could use Get-SPOSite -Identity https://tenantname-my.sharepoint.com/personal/firstname_lastname_tenantname_onmicrosoft_com
to view the properties of a users’ OneDrive for Business site, but attempting to set the quota on the same site presented an error:
Set-SPOSite -Identity https://tenantname-my.sharepoint.com/personal/firstname_lastname_tenantname_onmicrosoft_com -StorageQuota 2048
Set-SPOSite : Cannot get site https://tenantname-my.sharepoint.com/personal/firstname_lastname_tenantname_onmicrosoft_com.
At line:1 char:1
+ Set-SPOSite -Identity
https://tenantname-my.sharepoint.com/personal/firstname_lastname …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-SPOSite], ServerException
+ FullyQualifiedErrorId : Microsoft.SharePoint.Client.ServerException,Microsoft.Online.SharePoint.PowerShell.SetSite
he problem was that Site Collection Storage Management in SharePoint Online was set to Automatic. Once this was changed to Manual, I could successfully apply the quotas to users’ OneDrive for Business sites.
As well as using PowerShell (Get-SPOSite -Identity https://tenantname-my.sharepoint.com/personal/firstname_lastname_tenantname_onmicrosoft_com
), you can check the current storage quota in the browser, under Site settings, Storage Metrics:
Unfortunately this setting has to be applied on a per-user basis, after the user has already logged on to OneDrive for Business (which provisions the storage). There are a couple of scripts in the posh-o365 script collection that can help with this: Check-ODBQuotas.ps1
and Set-ODBQuota.ps1
.
[This is an edited version of a post that was originally published at markwilson.it]