🛠️ Exchange Online: The "Disabled" Flag Bug After Mailbox Conversion
Have you recently converted a Shared Mailbox to a Regular User Mailbox, assigned a license, and yet OWA keeps crashing on login?
Error:
AccountTerminationException|st: 440Symptom:
SyntaxError: JSON.parse: unexpected end of data
Even though the Microsoft 365 Admin Center shows everything as "Healthy," the mailbox is stuck in a ghost state. Here is how to fix the Disabled Flag Bug using PowerShell.
The Core Problem: Why Login Fails
By design, Shared Mailboxes are user accounts where direct login is disabled. When you convert a mailbox to Regular, Exchange updates the mailbox type but often "forgets" to flip the sign-in flag in the underlying Microsoft Entra (Azure AD) identity.
The result: The mailbox exists and the license is active, but the server kills the authentication mid-stream because it still thinks the user isn't allowed to log in.
The Solution: The PowerShell Fix
To resolve this, we must manually force the AccountDisabled attribute to False.
1. Verify the Status
Connect to Exchange Online and check what the system actually thinks of the account:
PowerShell
Get-User -Identity "info@yourdomain.com" | Select-Object Name, RecipientTypeDetails, AccountDisabled
If AccountDisabled returns True, you’ve found your culprit.
2. Force the Login to Enable
Run the following command to lift the restriction:
PowerShell
Set-Mailbox -Identity "info@yourdomain.com" -AccountDisabled $false
3. Sync the Identity via Microsoft Graph
If OWA still throws the 440 error after the command above, the user object itself must be enabled in the Microsoft 365 directory:
PowerShell
# Requires the Microsoft.Graph module
Update-MgUser -UserId "info@yourdomain.com" -AccountEnabled $true
Troubleshooting Checklist
If your conversion is still stuck, work through this list:
- Licensing: Is an Exchange Online license (Plan 1/2 or Business) actually assigned?
- Password: Was a new password set after the conversion?
-
AccountEnabled: Is the flag set to
$true(orAccountDisabled $false) via PowerShell? - Browser Cache: Test in Incognito Mode. This is critical. OWA aggressively caches "Shared Mailbox" session tokens, which will trigger the JSON error even if the backend is fixed.
Written for admins who don't have time to wait 24 hours for "Replication."