Microsoft Exchange Server 2007 cannot be removed because of error: 'The public folder database contains folder replicas. Before deleting the public folder database, remove the folders or move the replicas to another public folder database. If you still can't remove it and you're sure the public folder database contains no more replicas you can use ADSIEdit to remove the public folder database from the organization. Removing Exchange 2010 public folder database with ADSIEdit.msc. Removing all public folders from an Exchange 2007 server. Remove the folders or move the replicas to another public folder database. And then you. Experts Exchange > Articles > Unable to remove Exchange 2007. 2007 because of Public Folder Replica. Remove the folders or move the replicas to. However, I am unable to remove the Public Message Database on the first server. Every time I try, I get the error: The public folder database specified contains folder replicas. Before deleting the public folder database, remove the folders or move the replicas to another public folder database.
KB ID 0000227
Problem
While trying to uninstall Exchange 2007 you see the following error.
“Uninstall cannot continue: Database ‘Public Folder Database’: The public folder database “server namestorage groupdatabase” contains folder replicas. Before deleting the public folder database remove the folders or remove the replicas to another public folder database.”
WARNINIG: The following procedure assumes you want the Public Folders GONE – make sure any information you require within them is either backed up or moved to another server.
Solution
1. Click Start > All Programs > Microsoft Exchange Server 2007 > Exchange Management Shell.
2. Issue the following command, (Replace {name of server} with your own server name).
3. Enter Y for yes if Prompted. (enter your own server name).
4. Issue the following command, (Replace {name of server} with your own server name).
5. Enter Y for Yes if prompted.
6. Re-attempt the uninstall.
or in EXTREME situations (sometimes it refuses to delete no matter what you do) run ADSIedit and remove it from CN=Configuration,CN=Services, CN=Microsoft Exchange, CN={organisation name i.e First Organisation}, CN=Administrative Groups, CN={Administrative Group name}, CN=Servers, CN={servername}, CN=Information Store, CN={Storage Group Name}, CN={Public Folder Database Name} THEN REBOOT
Related Articles, References, Credits, or External Links
NA
-->Use the Remove-PublicFolder cmdlet to remove an existing public folder.
The Remove-PublicFolder cmdlet removes the public folder data from all servers in your organization.
For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax (https://technet.microsoft.com/library/bb123552.aspx).
Syntax
Description
You need to be assigned permissions before you can run this cmdlet. Although this topic lists all parameters for the cmdlet, you may not have access to some parameters if they're not included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see Find the permissions required to run any Exchange cmdlet (https://technet.microsoft.com/library/mt432940.aspx).
Examples
-------------------------- Example 1 --------------------------
This example deletes the public folder My Public Folder from the TestDirectory tree.
-------------------------- Example 2 --------------------------
Public Folder Exchange 2010
This example deletes the public folder Directory Folder and all its child public folders by using the Recurse switch.
Parameters
The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.
Destructive cmdlets (for example, Remove-* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: -Confirm:$false.
Most other cmdlets (for example, New-* and Set-* cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.
Remove Public Folder Database
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
This parameter is available only in on-premises Exchange.
The DomainController parameter specifies the domain controller that's used by this cmdlet to read data from or write data to Active Directory. You identify the domain controller by its fully qualified domain name (FQDN). For example, dc01.contoso.com.
Type: | Fqdn |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
The Identity parameter specifies the name and path of the public folder you want to remove. A valid value uses the syntax: <Level1><Level2>...<LevelN><PublicFolder>. For example, 'Customer Discussion' or 'EngineeringCustomer Discussion'.
Type: | PublicFolderIdParameter |
Position: | 1 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
The Recurse switch specifies whether all subfolders of the specified folder should be removed. If the Recurse switch isn't specified and the public folder has subfolders, the command doesn't run and an error message is returned.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
This parameter is available or functional only in Exchange Server 2010.
The Server parameter specifies the Exchange server where you want to run this command. You can use any value that uniquely identifies the server. For example:
Name
FQDN
Distinguished name (DN)
Exchange Legacy DN
If you don't use this parameter, the command is run on the local server.
Type: | ServerIdParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010 |
The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
Inputs
To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types (https://go.microsoft.com/fwlink/p/?LinkId=616387). If the Input Type field for a cmdlet is blank, the cmdlet doesn't accept input data.
Outputs
Find Public Folders Exchange 2010
To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types (https://go.microsoft.com/fwlink/p/?LinkId=616387). If the Output Type field is blank, the cmdlet doesn't return data.