Problem
You have just attempted to deploy a new enterprise pool but the Publish Topology process fails to deploy the databases properly and the only option is to delete the failed deployment’s pool. You proceed with right clicking on the pool and select Delete:
Once the pool has been deleted, you proceed with publishing the topology:
The publish topology process fails at the first step:
… and viewing the logs shows the following error:
Error: An error occurred: "System.InvalidOperationException" "Cannot publish topology changes. Conference directories still exist on a pool that would be deleted. Remove the conference directories before continuing."
Solution
The reason why you are not able to complete the publish topology process is because, as the error message states, there are still conference directories linked to the pool. Unfortunately, you can’t actually delete the conference directories within the GUI so what you’ll need to do is remove them from within PowerShell. Begin by launching PowerShell and execute the following command:
Get-CsConferenceDirectory
Make a note of the number conference directory associated to the failed pool and the identity value associated with it. In this example, the failed pool is named lyncpool02.domain.int and the identity value is 2. The first cmdlet that should be used is the following:
Remove-CsConferenceDirectory -Identity 2
Depending on how the pool has failed, this cmdlet may execute successfully or throw an error such as the following:
PS C:\Users\tluk-admin> Remove-CsConferenceDirectory -Identity 2
Remove-CsConferenceDirectory : No available Servers to connect to.
At line:1 char:1
+ Remove-CsConferenceDirectory -Identity 2
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Remove-CsConferenceDirectory]
, ConferenceDirectoryException
+ FullyQualifiedErrorId : No available Servers to connect to.,Microsoft.Rt
c.Management.ConferenceDirectoryCmdlets.RemoveConferenceDirectoryCmdlet
PS C:\Users\tluk-admin>
If you receive this error then the next step is to use the -force switch as shown in the following cmdlet:
Remove-CsConferenceDirectory -Identity 2 -force
PS C:\Users\tluk-admin> Remove-CsConferenceDirectory -Identity 2 -force
WARNING: Conference directory with ID "2" will not be checked to see if it is
safe to delete because the operation was invoked with the Force parameter.
Confirm
Are you sure you want to perform this action?
Performing operation "Remove-CsConferenceDirectory" on Target "Conference
directory 2".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "Y"):yes
WARNING: No available Servers to connect to.
WARNING: Conference directory with ID "2" was deleted, but some unused stale
conference data was left behind on the back-end server. Removal of this data
will not be retried. The operation is complete.
PS C:\Users\tluk-admin>
Once the conference directory has been removed, proceed with publishing the topology and it should complete successfully: