{"id":3262,"date":"2026-05-24T10:20:59","date_gmt":"2026-05-24T10:20:59","guid":{"rendered":"https:\/\/modern-workplace.uk\/?p=3262"},"modified":"2026-05-24T10:21:39","modified_gmt":"2026-05-24T10:21:39","slug":"sharepoint-online-storage-quota-enforcement-tightens-and-some-users-are-about-to-lose-onedrive-write-access","status":"publish","type":"post","link":"https:\/\/modern-workplace.uk\/?p=3262","title":{"rendered":"SharePoint Online: Storage Quota Enforcement Tightens, and Some Users Are About to Lose OneDrive Write Access"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p class=\"has-medium-font-size\">Microsoft has published Message Centre notification MC1310684 announcing a change to how OneDrive for Business storage quotas are enforced in SharePoint Online. The rollout begins in late May 2026 and completes in June 2026. For most commercial tenants, this will pass without incident. For a specific set of scenarios, it will put users into read-only mode with no obvious error message explaining why.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">This post walks through what is changing, which environments are at risk, and how to identify affected users before the enforcement kicks in.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What Is Actually Changing<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">The update corrects an existing inconsistency in how SharePoint Online evaluates storage quotas during refresh cycles. <strong>Under certain conditions, user-specific storage limits could be applied incorrectly, leading to inaccurate enforcement behavior<\/strong>.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">The fix: quota enforcement will now consistently compare each user&#8217;s OneDrive storage usage against the limit defined by their assigned license tier. Where a user&#8217;s current storage exceeds that license-defined ceiling, their <strong>OneDrive will be placed into read-only mode.<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">Read-only in this context means write access to existing SharePoint content is temporarily restricted. Users can still read their files; they cannot create or modify them until the situation is remediated.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Who Is Actually at Risk<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">This is where the practical picture gets more nuanced than the Message Center summary implies. There are three distinct scenarios to check.<\/p>\n\n\n\n<p><strong>Scenario 1: Admins who have set user-specific quotas above the license entitlement<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">SharePoint Online allows administrators to manually set a user&#8217;s OneDrive quota above the default. If someone set a user to 10 TB because they had a short-term need, and that user holds an E3 license (which entitles them to 5 TB), the enforcement change will recalculate against the 5 TB license limit rather than the manually configured value.<\/p>\n\n\n\n<p><strong>Scenario 2: EDU tenants with A1 users provisioned before enforcement<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">Office 365 A1 licenses entitle users to 100 GB of OneDrive storage. However, if those accounts were provisioned before A1 storage enforcement was introduced, they may have been allocated 1 TB or 5 TB and may currently be storing far more than 100 GB. The upcoming change will enforce the 100 GB limit regardless of the provisioned allocation.<\/p>\n\n\n\n<p><strong>Scenario 3: Unlicensed users with a retained OneDrive<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">This one is easy to overlook. Organisations that retain OneDrive accounts after off-boarding users for data preservation purposes, but remove the license as part of the leaver process, will find these accounts flagged as over quota. The logic is simple: with no license, the expected quota is zero, and any stored data exceeds that threshold.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">License Tiers and Their Storage Entitlements<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">The enforcement logic evaluates the highest-tier OneDrive service plan across all assigned licenses. The relevant tiers are:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>License tier<\/th><th>Expected quota<\/th><th>Typical SKUs<\/th><\/tr><\/thead><tbody><tr><td>Enterprise<\/td><td>5 TB<\/td><td>E3, E5, A3, A5, Plan 2<\/td><\/tr><tr><td>Standard<\/td><td>1 TB<\/td><td>Plan 1<\/td><\/tr><tr><td>A1 \/ Lite<\/td><td>100 GB<\/td><td>Office 365 A1, OneDrive Lite<\/td><\/tr><tr><td>BasicP2<\/td><td>10 GB<\/td><td>Basic 2<\/td><\/tr><tr><td>Deskless<\/td><td>2 GB<\/td><td>F1, F3<\/td><\/tr><tr><td>Unlicensed<\/td><td>0<\/td><td>No OneDrive service plan<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">The F1 and F3 2 GB limit is the most likely to catch administrators off guard in mixed-license environments. If anyone in a Frontline deployment has been using OneDrive informally as a file store, they may already be over their licensed entitlement without anyone having noticed.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">The Helpdesk Risk<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">When a user&#8217;s OneDrive enters read-only mode, there is no clear, self-explanatory error message surfaced to the end user. They will experience a sudden inability to save or create files. Depending on their workflows, this could manifest as errors in Office applications, SharePoint, or Teams. Without advance communication, the helpdesk will receive calls that are difficult to diagnose at first contact.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Informing support teams before the rollout completes is a practical necessity, not a nice-to-have.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How to Identify Affected Users<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">Microsoft has published an official PnP script specifically for this scenario, linked directly from MC1310684:<\/p>\n\n\n\n<p><a href=\"https:\/\/pnp.github.io\/script-samples\/onedrive-overquota-report\/README.html?tabs=graphps\">Identify OneDrive Users Over License-Based Storage Quota \u2014 PnP Samples<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\">There are important details to note about this script:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">It uses <strong>Microsoft Graph exclusively<\/strong>. There is no dependency on the SharePoint Online Management Shell, PnP PowerShell, or any third-party modules. The only prerequisites are <code>Microsoft.Graph.Authentication<\/code> and <code>Microsoft.Graph.Users<\/code>, both of which can be auto-installed using <code>-InstallPrerequisites<\/code>.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">It is <strong>strictly read-only<\/strong>. It will not modify quotas, licenses, or files.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">It runs on Windows PowerShell 5.1 and PowerShell 7, across commercial, GCC, GCC High, DoD, and China tenants.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">The script supports three scan modes:<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>FastScan (default)<\/strong> uses the Microsoft Graph Reports API to pull all provisioned OneDrives in a single bulk download, then queries license details for each owner. On a 100,000-user tenant this typically completes in a few minutes. The trade-off is that report data reflects a daily snapshot, so figures may be up to 48 hours old. This is acceptable for quota identification purposes.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">One caveat: FastScan will not work if your tenant has <strong>display concealed user names in reports<\/strong> enabled in the SharePoint Admin Center. The script detects this condition and exits with instructions. If anonymisation is on, use LegacyScan instead.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>LegacyScan<\/strong> (<code>-LegacyScan<\/code>) enumerates every user in the directory and retrieves live storage figures. This is accurate in real time but scales poorly. Expect it to take two or more hours on a large tenant.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>TargetedUser<\/strong> (<code>-UserPrincipalName<\/code>) evaluates one or more specific UPNs directly, bypassing both scan modes. Useful for spot-checking a user flagged by the helpdesk or verifying that a remediation has worked.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">A basic run looks like this:<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>.\\Get-ODBOverQuotaUsers.ps1 -ExportPath \"C:\\Reports\\OneDriveQuotaReport.csv\"<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size\">The exported CSV includes every evaluated site, sorted so over-quota rows appear first. The <code>OverQuota<\/code> column is a simple True\/False, making it straightforward to filter in Excel. The <code>LicenseTier<\/code>, <code>ExpectedQuota<\/code>, <code>StorageUsed<\/code>, and <code>OverBy<\/code> columns provide the context needed to decide on remediation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What to Do About Users Who Are Over Quota<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">For each user the script identifies, there are two options:<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Upgrade the license.<\/strong> If the user genuinely needs more storage than their current license provides, assigning a higher-tier license resolves the enforcement issue at source.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Reduce storage usage.<\/strong> Work with the user to bring their OneDrive within licensed limits. This is the appropriate path where the storage use is incidental rather than necessary.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">For unlicensed retained accounts (the leaver scenario), the right decision depends on the organisation&#8217;s data retention policy. Options include assigning a minimal license to the account, archiving the content elsewhere, or accepting that the OneDrive will be restricted once enforcement takes effect.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Before Running the Script<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">A note on the Reports API anonymisation setting. The SharePoint Admin Center has an option under Reports to conceal user-specific data in usage reports, replacing names and email addresses with anonymous identifiers. If this is enabled in your tenant, FastScan will not be able to resolve individual users and the script will exit. The setting is under <strong>SharePoint Admin Center &gt; Reports &gt; Settings &gt; Display concealed user names in reports<\/strong>.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">You may need to temporarily disable anonymisation, run the FastScan, and re-enable it. Alternatively, use LegacyScan, which does not rely on the Reports API.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">For tenants running standard commercial licenses with unmodified quota settings, this change will have no effect. For anyone running EDU A1 deployments, mixed Frontline\/Enterprise environments, or tenants with manually elevated per-user quotas, the effort to run the PnP script before late May is time well spent. The read-only state that follows quota enforcement is disruptive precisely because it is silent, and the helpdesk impact of an unexplained inability to save files is entirely avoidable.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">I hope this helps.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Tags:<\/strong> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft is updating how OneDrive for Business storage quotas are enforced in SharePoint Online \u2014 rollout begins late May 2026. For most commercial tenants this will pass without incident, but three specific scenarios will result in users going read-only with no obvious error: admins who manually set quotas above license limits, EDU A1 tenants provisioned before A1 enforcement, and unlicensed retained accounts from former employees. Microsoft has linked an official PnP Graph script from MC1310684 that identifies affected users. It uses Microsoft Graph only, no SPO Management Shell required, and has three scan modes for tenants of any size. Worth running before the enforcement window closes.<\/p>\n","protected":false},"author":1,"featured_media":3265,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","twitterCardType":"","cardImageID":0,"cardImage":"","cardTitle":"","cardDesc":"","cardImageAlt":"","cardPlayer":"","cardPlayerWidth":0,"cardPlayerHeight":0,"cardPlayerStream":"","cardPlayerCodec":"","footnotes":""},"categories":[850,1049,933],"tags":[1064,1062,1058,1063,1061,1060,1055,1059,989,905,936,1057,913,1065,934,1056,878],"class_list":["post-3262","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-850","category-onedrive","category-sharepoint","tag-a1","tag-edu","tag-education","tag-f1","tag-f3","tag-frontline-workers","tag-mc1310684","tag-message-centre","tag-microsoft-365-licensing","tag-microsoft-graph","tag-onedrive-for-business","tag-pnp-script-samples","tag-powershell","tag-read-only-mode","tag-sharepoint-online","tag-storage-quota","tag-tenant-administration"],"_links":{"self":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/3262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3262"}],"version-history":[{"count":1,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/3262\/revisions"}],"predecessor-version":[{"id":3264,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/3262\/revisions\/3264"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/media\/3265"}],"wp:attachment":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}