Forum Discussion
dgk62
Feb 17, 2025Copper Contributor
How to repair a corrupted Public Folder (on-prem)
Hello guys,
Hope all is well.
In our Exchange 2019 environment we use Public Folders extensively. Everything seems ok except one of folders that looks corrupted.
I can execute commands Get-PublicFolder / Set-PublicFolder against it, I can get its items statistics (Get-PublicFolderItemStatistics) and have access to items through Outlook. But commands Get-PublicFolderStatistics, Get-PublicFolderClientPermission return the same error:
The security principal specified is already on the permission set.
+ CategoryInfo : NotSpecified: (:) [Get-PublicFolderStatistics], CorruptDataException
+ FullyQualifiedErrorId : [Server=E7,RequestId=b2f89187-878f-4cab-b05f-fcdaa7d82c0d,TimeStamp=2/17/2025 3:19:42 PM] [FailureCategory=Cmdlet-CorruptDataException] B960021F,Microsoft.Exchange.Manag
ement.MapiTasks.GetPublicFolderStatistics
I tried to repair the corresponding public folder mailbox (New-MailboxRepairRequest) but none of my requests found errors. I moved the public folder content to a different public folder mailbox, no success.
Any ideas how to fix the issue? My guess is that ACL list of the public folder is corrupted.
Regards,
Dmitry Horushin
- SawyerColtIron Contributor
1. Check public folder status: Open Exchange Management Shell (EMS).
Run the following command to check the health status of the public folder:
powershell
Get-PublicFolder -Recurse | Get-PublicFolderStatistics
Review the output and verify that there are no errors or warning messages.
2. Use the IsInteg tool to repair: Stop the Microsoft Exchange Information Store service.
Open a command prompt (with administrator privileges) and navigate to the Exchange installation directory (typically C:\Program Files\Microsoft\Exchange Server\V15\Bin).
Run the following command to check and repair the public folder database: cmd
eseutil /g “path_to_public_folder_database.edb”
If an error is detected, run the following command to repair the database: cmd
eseutil /p “path_to_public_folder_database.edb”
Note: The /p option may result in data loss, it is recommended to backup the database first.
3. Rebuild the public folder index: Open Exchange Management Shell (EMS).
Run the following command to rebuild the public folder index:
powershell
Get-PublicFolderDatabase | Update-PublicFolderDatabase
4. Check the public folder permissions:
Open the Exchange Management Shell (EMS).
Run the following command to check public folder permissions:
powershell
Get-PublicFolderClientPermission -Identity “\PublicFolderName”
Ensure that the permissions are set correctly and use the following command to repair the permissions if necessary:
powershell
Add-PublicFolderClientPermission -Identity “\PublicFolderName” -User “User” -AccessRights “Owner”
5. Rebuild the folder using New-PublicFolder: If a specific public folder is damaged and cannot be repaired, you can try to delete and rebuild the folder.
Run the following command to delete the corrupted public folder:
powershell
Remove-PublicFolder -Identity “\PublicFolderName” -Recurse
6. Rebuild the public folder using the following command: powershell
New-PublicFolder -Name “PublicFolderName” -Path “\ParentFolder” -Copy
7. Check the event log: Open Event Viewer and check the Application and Service Log > “Microsoft” > ” Exchange” > ‘HighAvailability’ or ‘MailboxDatabase’.
Take further action based on the error messages in the logs.- dgk62Copper Contributor
Hello SawyerColt,
Hope you're doing well.Thank you for your suggestion.
Unfortunately, it doesn't help.
- Get-PublicFolderStatistics returns error for the PF
- I can't dismount the database to use eseutil. Online checks didn't find any issues (I can freely move the PF between PF mailboxes).
- Update-PublicFolderDatabase doesn't work in Exchange 2019
- Get(/Add/Remove)-PublicFolderClientPermission returns error.
There's no reason to rebuild the PF because the client access works correctly and there are no subfolders. We don't use it anymore and I hope to remove it when it's empty due the aging of its items.
King regards,
Dmitry.