This is something every Citrix adminitrator will come across during his/her career. Here I detail exactly how to do this with minimal disruption.
Ideally this should be done out of working hours as it means restarting the IMA service etc which will cause some disruption.
Moving the Citrix ZDC to an existing server1.) Open up the Citrix Management Console.
2.) Right click the farm name and select properties.
3.) Click on zones
4.) Change the priority to most preferred on the server you want to be the new ZDC.
5.) If you are using SQL for your IMA database you will need to create an ODBC connection from control panel on the new ZDC.
6.) Restart the IMA service on all servers in the farm.
Replacing the ZDC with a new Server
In this instance we are going to replace the server with one of the same name. Citrix licenses are recognised by the server name so calling it something different would mean having to reallocate the licenses through the MyCitrix website. We are also going to assume that you are using SQL for the IMA database as this seems to be the most common configuration in my experience.
1.) Move the ZDC preferences from the existing server to another one in the farm using the steps above.
2.) Remove Citrix Presentation Server from the existing ZDC from add/remove programs in control panel. (The reason for doing this is so that it is cleanly removed from the IMA database.)
3.) Switch off the existing ZDC and remove from network.
4.) Add the new server to the Windows domain naming it the same as the original one was.
5.) Install Citrix and add to existing farm.
6.) Create an ODBC connection from control panel to the database on the existing SQL server (If the username and passwords are left as default they are citrix and citrix.)
7.) Reverse the process in step 1 to make this the most preferred zone data collector.
8.) Restart the IMA service on all servers in the farm.
Please note that if you were using an access database rather than SQL you would also have to run the dsmaint command.