In Exchange Server SE and 2019, public folders are stored in public folder mailboxes, and each user reads the folder tree (the hierarchy) from one of them. So when public folders are missing, out of date or won't open, the cause is nearly always the public folder mailboxes, the mailbox assigned to the user, hierarchy synchronization, or permissions. Here's how to check each one and prove the fix.
Errors this guide fixes
Cannot display folder. Network problems are preventing connection to Microsoft Exchange.Outlook (public folders)Cannot expand the folder. The set of folders cannot be opened.Outlook (public folders)
Symptoms#
- Outlook has no Public Folders node, or some users can see folders that others can't.
- A newly created folder shows up for some users but not for others.
- Expanding or opening a public folder fails with one of these messages. The text after "cannot be opened." depends on what went wrong.
Cannot display folder. Network problems are preventing connection to Microsoft Exchange.
Cannot expand the folder. The set of folders cannot be opened.- Outlook on the web doesn't show any public folders.
Why it happens#
Modern public folders, which every supported Exchange version uses, work like this:
- The first public folder mailbox holds the only writable copy of the hierarchy. It's the primary hierarchy mailbox, listed as
RootPublicFolderMailboxinGet-OrganizationConfig. Every other public folder mailbox has a read-only copy that hierarchy synchronization keeps up to date. - Each folder's items are stored in exactly one mailbox, called its content mailbox.
- Each user gets the hierarchy from one public folder mailbox. By default, Exchange chooses it automatically and spreads users across mailboxes. An admin can override this by pinning a user with
DefaultPublicFolderMailbox.
| Cause | Typical symptom |
|---|---|
| No usable public folder mailbox (none created, or its database is dismounted) | Nobody sees public folders |
| User pinned to a mailbox that's been removed, excluded from serving the hierarchy, or overloaded | Errors for some users only |
| Hierarchy sync behind or failing on a secondary mailbox | New folders missing for the users that mailbox serves |
| Client permissions don't allow the user to see or read the folder | One folder missing or won't open |
| Mailbox in Exchange Online, folders on-premises | Only cloud users affected |
Microsoft documents one overload case. When more than 2,000 users connect to the same public folder mailbox, Outlook can show the "Cannot display folder" error. It typically happens when admins override the automatic assignment, or when one folder is very heavily used.
How to fix it#
1. Rule out the client view#
In Outlook for Windows, public folders appear in the Folders view (Ctrl+6), not the Mail view. In Outlook on the web, a public folder only appears after the user adds it to Favorites from the folder pane's right-click menu. Then try the same folder as a second user and in OWA. If it works there, focus on the first user's client or assignment.
2. Check the public folder mailboxes#
Get-OrganizationConfig | Format-List PublicFoldersEnabled, RootPublicFolderMailbox
Get-Mailbox -PublicFolder | Format-Table Name, Database, ServerName, IsRootPublicFolderMailbox, IsExcludedFromServingHierarchy -AutoSize
Get-MailboxDatabase -Status | Format-Table Name, Server, Mounted -AutoSizeWhat good looks like:
PublicFoldersEnabledisLocal.- One mailbox shows
IsRootPublicFolderMailboxas True. - Every public folder mailbox is on a mounted database.
- Mailboxes meant to serve users show
IsExcludedFromServingHierarchyas False.
If the list is empty and you expected public folders, find out what happened to the mailboxes before you create anything new. If a mailbox was excluded on purpose (for example during a migration) and should now serve users, include it again:
Set-Mailbox -PublicFolder -Identity PFMailbox2 -IsExcludedFromServingHierarchy $false3. Check which mailbox serves the user#
Get-Mailbox -Identity jane@contoso.com | Format-List *PublicFolder*
# How many users are pinned to each public folder mailbox?
Get-Mailbox -ResultSize Unlimited | Where-Object { $_.DefaultPublicFolderMailbox } |
Group-Object DefaultPublicFolderMailbox | Sort-Object Count -Descending | Format-Table Count, NameAn empty DefaultPublicFolderMailbox means automatic assignment, which is what you want. A pin is a problem if it points to a mailbox that's gone, excluded from serving the hierarchy, or overloaded. Clear it and Exchange assigns a mailbox again:
Set-Mailbox -Identity jane@contoso.com -DefaultPublicFolderMailbox $nullFor the 2,000-user case, Microsoft's fix is to clear the value on every mailbox with Get-Mailbox -ResultSize Unlimited | Set-Mailbox -DefaultPublicFolderMailbox $null. That also removes pins you set on purpose, so filter the list first if you rely on them. Ask users to restart Outlook afterwards.
4. Force hierarchy synchronization#
To confirm a sync problem, temporarily pin a test user to the primary hierarchy mailbox and restart Outlook. If the missing folder appears for that user but not for users on another mailbox, that mailbox's copy of the hierarchy is behind. Start a sync for it:
Update-PublicFolderMailbox -Identity PFMailbox2 -InvokeSynchronizer -FullSyncIf sync keeps failing, check the health of that mailbox's database and the Application log on its server. When you're done, clear the test user's pin.
5. Check the folder's permissions#
Get-PublicFolderClientPermission -Identity "\Sales\Quotes" | Format-Table User, AccessRights -AutoSize
Get-PublicFolderClientPermission -Identity "\" | Format-Table User, AccessRights -AutoSize- To see a folder in the tree, a user needs
FolderVisibleon it and on every parent folder. To read its items, they also needReadItems. TheReviewerrole includes both. Defaultapplies to every signed-in user who has no entry of their own.Anonymousapplies to unauthenticated senders, such as external mail sent to a mail-enabled folder.- Grant permissions to users or mail-enabled security groups. Distribution groups can't hold client permissions.
Add-PublicFolderClientPermission -Identity "\Sales\Quotes" -User "Sales Team" -AccessRights ReviewerTo change an existing entry, remove it with Remove-PublicFolderClientPermission and then add the new role.
6. Users in Exchange Online, folders on-premises#
If only cloud mailboxes are affected, the on-premises side may be perfectly healthy. In Exchange Online PowerShell, Set-OrganizationConfig -PublicFoldersEnabled Remote -RemotePublicFolderMailboxes must list your on-premises public folder mailboxes. Those mailboxes must also be synchronized to Microsoft Entra ID as part of Microsoft's hybrid public folder setup. Check this before you change anything on the servers.
Verify the fix#
Get-Mailbox -PublicFolderlists healthy mailboxes that serve the hierarchy. The user'sDefaultPublicFolderMailboxis either empty or points to one of them.- Create a test folder with
New-PublicFolder -Name SyncTest. After synchronization, check that users served by different mailboxes can all see it, then delete it withRemove-PublicFolder -Identity "\SyncTest". - The affected user restarts Outlook, opens the Folders view, expands Public Folders and opens the folder without an error. It also works in OWA once it's in Favorites.
Get-PublicFolderClientPermissionshows the entries you intended and nothing else.
Prevent it next time#
- Leave
DefaultPublicFolderMailboxempty unless you have a specific reason to pin users. - Add hierarchy-serving public folder mailboxes as the user count grows, so no single mailbox handles thousands of connections.
- Before you remove a database or server, move its public folder mailboxes off it with
New-MoveRequest. - Assign permissions through mail-enabled security groups, and record who owns each folder tree.

