Quick Answer
Run fsutil quota query C: to see current usage, then either increase the quota limit above that value or delete quota entries with fsutil quota delete C: and re-add them at your desired limit after clearing space.
Why You're Seeing 0XC0000031
This error means Windows caught you trying to set a quota limit lower than what’s currently stored on the volume. The OS treats this like trying to put 10 gallons of water in a 5-gallon bucket — it won’t let you. The culprit here is almost always an admin adjusting quotas on a volume that already has data from users who blew past the new limit. I've seen this on Server 2012R2 through Server 2022, and even on Windows 10 Pro machines running local quotas. The error can also pop up when Group Policy pushes a lower quota restriction to a machine where users have already saved files.
Fix Steps
- Check current quota usage
Open an elevated command prompt (Run as Administrator) and run:fsutil quota query C:
ReplaceC:with your actual drive. Look for the Threshold and Limit columns. Note the current usage per user. - Raise the quota limit above current usage
If possible, set the limit to something higher than what’s used. Example:fsutil quota modify C: 4294967296 5368709120 DOMAIN\username
This sets a warning threshold of 4GB and a hard limit of 5GB for that user. Adjust the numbers to your situation. - If you must lower the limit
You’ll need to delete the existing quota entry, clear the user's files, then recreate it. Run:fsutil quota delete C: DOMAIN\username
Then have the user move or delete files down to your target size. Re-add the quota:fsutil quota modify C: 2147483648 3221225472 DOMAIN\username - Verify the new quota
Run the query command again to confirm the change took effect:fsutil quota query C: | findstr DOMAIN\username
Alternative Fixes
If fsutil isn’t your style, use the GUI. Open Computer Management → Storage → Disk Management, right-click your volume, go to Properties → Quota. You can edit or delete quota entries from there. The same rule applies — you can’t lower below current usage.
If quotas are managed via Group Policy, check the policy path: Computer Configuration\Administrative Templates\System\Disk Quotas. The policy Default quota limit and warning level might be forcing the lower limit. You’ll need to increase the policy value or remove the offending users’ files first.
For file servers using File Server Resource Manager (FSRM), the error looks different but the fix is the same — FSRM won’t let you apply a template with a lower quota to a folder that’s already over it. Delete the existing quota in FSRM, clear files, then apply the new one.
What NOT to Do
- Don't bother rebooting. This isn't a transient error — it's a logical protection.
- Don't mess with registry keys for quotas unless you're testing on a lab machine. It rarely helps and can corrupt the quota system.
- Don't force-set quotas via scripts that ignore the error — they'll just fail silently or corrupt the NTFS quota index.
Prevention Tip
Before you roll out any quota change, run a quick report of current usage with fsutil quota query or the GUI. I always set a warning threshold 10-20% below the hard limit so users get a heads-up before they hit the wall. Also, schedule quota checks with a simple PowerShell script that emails you when any volume hits 85% of its limit — catches the problem before the error does.
And for the love of all that is holy, document your quotas. I've walked into too many shops where quotas were set years ago and nobody knows what the limits actually are. That’s how you get 0XC0000031 call at 2 AM.