Complete the steps to remove the orphaned Delivery Controller (Controller) from a XenDesktop 7.x site:
-
Run the Get-BrokerController command from PowerShell to get the SID of the orphaned Controller.
-
Execute the following PowerShell script, replacing the XenDesktopDatabase with your XenDesktop database and the DCSID with your SID of the Controller you want to remove:
asnp Citrix*$DBName = "XenDesktopDatabase"$EvictedSID = "DCSID"## Generate Database 'Evict' Scripts for XenDesktop DataStore##Get-ConfigServiceStatusGet-LogSite Get-BrokerController -Filter {(SID -eq $EvictedSID)} -MaxRecordCount 2147483647Add-Content "$PWDevict_$sid.txt" (Get-AcctDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-HypDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-ProvDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-BrokerDBSchema -DatabaseName $DBName -ScriptType 'Evict' -SID $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-MonitorDBSchema -DatabaseName $DBName -DataStore 'Site' -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-SfDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-EnvTestDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-ConfigDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-LogDBSchema -DatabaseName $DBName -DataStore 'Site' -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-AdminDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-AnalyticsDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-AppLibDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-TrustDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)Add-Content "$PWDevict_$sid.txt" (Get-OrchDBSchema -DatabaseName $DBName -ScriptType 'Evict' -Sid $EvictedSID)# Script completed successfully# Generate Database 'Evict' Scripts for 'Logging' DataStore##Get-ConfigServiceStatus Get-LogSite Get-BrokerController -Filter {(SID -eq $EvictedSID)} -MaxRecordCount 2147483647Add-Content "$PWDevict_$sid.txt" (Get-LogDBSchema -DatabaseName $DBName -DataStore 'Logging' -ScriptType 'Evict' -Sid $EvictedSID)# Script completed successfully# Generate Database 'Evict' Scripts for 'Monitor' DataStore##Get-ConfigServiceStatus Get-LogSite Get-BrokerController -Filter {(SID -eq $EvictedSID)} -MaxRecordCount 2147483647Add-Content "$PWDevict_$sid.txt" (Get-MonitorDBSchema -DatabaseName $DBName -DataStore 'Monitor' -ScriptType 'Evict' -Sid $EvictedSID)# Script completed successfully
After running the script, the evict.txt file is created under the users profile. The file could also be generated under C:Windowssystem32, if ran in IDE PowerShell as administrator. The file contains a script required to run on the SQL server.