Citrix Policy Migration Tool

It took a little while longer than I had expected due to some bugs, but I am glad to be able to finally release the third of the set of tools that myself and Paul showed during SYN209 ay Synergy this year, the Citrix Policy Migration Tool. The tool allows you to export your Citrix policies from an On-Prem or Citrix Cloud farm. This export can then be used to recreate your policies in another farm. The great advantage here is that the tool doesn’t care where the policies were export from. So you can take the policy set from any farm, be it On-Prem or Citrix Cloud, and import that in to any farm, anywhere.

But hold on a minute, I hear you say. Why would I need to use this tool when I could just export/import the polices via PowerShell using the Export-BrokerDesktopPolicy and Import-BrokerDesktopPolicy cmdlets. Yes, this may work but Citrix state that this should only be used for back/DR purposes and that exporting and importing policies between different sites should not be done. This is due to site specific information that is contained in the policies. This method might work for you but I have seen cases where it caused problem in the farm.

The Citrix Policy Migration Tool gets around this problem by reading all the policy configuration information and then manually creating each policy during the import process. The tool also contains a handy feature that allows you to skip the policy assignments. This would allow you to export/import a generic set of polices in to a farm where the assignment information would be different.

You can check out the user guide and download the tool from here. I have done some extensive testing but due to the large number of policies, I haven’t been able to test it with every single one. If you find one that isn’t working as expected, please reach out to me and I will help.


  • Lou says:

    Hi Shane,

    Thanks for taking the time and effort to build this tool.

    I was wondering how the tool handles import into a site that already has existing policies?

    I’m looking at the export file created and I see that it contains the current site priority settings. How are those translated to the new site if it has existing policies with the same priority designation?

    Along those lines, if I wanted to cherry pick what gets imported vs. what doesn’t, could I just alter the JSON file so that it only contains the policy records I’d want to include in the import function? If yes, are there any considerations I’d need to take into account when editing the JSON file? I.E.: are there tags/fields that indicate record numbers to import and/or other relational tags that come into play?

    • Shane O'Neill says:

      Hi Lou… The tool will check that there are no existing policies in a farm before doing an import, I’ve updated the user guide to make that clear… For this version, it requires that the farm had a blank policy set, otherwise as you mentioned, there would be conflicts, etc… Maybe in a future version I will be able to add support for this scenario…

      As for the JSON file, yes, you can certainly manually adjust it… Each policy is its own object within the file, they are not associated with each other… Hope this helps… Any other questions, let me know…

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">