With XenSplitPersonality (XenDesktop/XenApp) 7.6 about to be released soon, a few CTPs were asked if they wanted to test out the IMA to FMA migration tool.  Fellow CTP Andrew Morgan and myself both volunteered to give it a spin.  This blog post is a joint post with Andy on the migration tool.

The Citrix IMA to FMA migration tool is a set of PowerShell scripts to aid in migrating XenApp 6.5 IMA farm settings to XenApp 7.6 FMA sites.  The migration tool exports XenApp 6.5 farm settings and allows you to import the settings into a new or existing Delivery Group in a XenApp/XenDesktop 7.6 site.  A great feature (aside from the farm configuration) is the ability to export policies and import all relevant policy settings (where they exist) into the new environment.

The tools are easy to use.  On a XenApp 6.5 controller, copy the PowerShell export modules to a writeable (by user running the scripts) directory.  **Don’t use a network share!**Make sure to use a local folder.  Import the following module definitions:

  • Import-Module .\ExportPolicy.psd1
  • Import-Module .\ExportXAFarm.psd1

The ExportXAFarm.psm1 exposes one function.  Using Export-XAFarm cmdlet, you can export farm details to an XML file along with a log file in case you have any issues along the way!

When exporting XenApp 6.5 farm settings, you can filter out applications, folders, zones, etc if you wish.  That way you can export only the settings you wish to import into your XenApp/XenDesktop 7.5 site.

**Exporting a XenApp 6.5 Farm
**In the picture below we have a simple XenApp 6.5 farm.

To export the farm settings with logging, use the following command:

  • Export-XAFarm -xmloutput filename.xml -logfile logfilename.log

In the picture below there is an example of the output seen in
PowerShell when the export command is run.

To export the farm policies with logging, use the following command:

  • Export-Policy -xmloutputfile filename.xml -LogFile logfilename.log

In the picture below there is an example of the output seen in PowerShell when the export command is run.

Once the farm and policy settings are exported, the file structure will look similar to the screenshot below.

Now that you have the farm and policy settings exported, you can copy them over to a XenApp/XenDesktop 7.6 Delivery Controller.

**Importing to a XenApp/XenDesktop 7.6 Site
**
On a XenApp/XenDesktop 7.6 Site (upgraded or new), copy the PowerShell export modules to a writeable (by user running the scripts) directory.  Don’t use a network share! Make sure to use a local folder.  Import the following module definitions:

  • Import-Module .\ImportPolicy.psd1
  • Import-Module .\ImportXAFarm.psd1

The ImportXAFarm.psm1 exposes one function.  Using Import-XAFarm cmdlet, you can import farm details from the XML file along with a log file in case you have any issues along the way!

When importing XenApp 6.5 farm settings, you can filter out applications, folders, zones, etc if you wish.  That way you can import only the settings you wish to import that were exported from your XenApp 6.5 farm.

To import the policy settings with logging, use the following command:

  • Import-Policy -xmlinput filename.xml -logfile logfilename.log

In the picture below there is an example of the output seen in
PowerShell when the import command is run.

Notice the warnings when the PowerShell command is run?  Not all policies settings can be imported from a XenApp 6.5 farm.  That is because any computer or user policies that are no longer supported in XenApp/XenDesktop 7.6 are not imported.

If you receive warnings during the policy import, check the policies that were imported to make sure they are still relevant in XenApp/XenDesktop 7.6.

The picture below shows an example of imported policies.

To import the farm settings with logging, use the following command:

  • Import-XAFarm -xmlinput filename.xml -logfile logfilename.log

You can also specify which Delivery Group the applications get imported to.  You can specify an existing Delivery Group or create a new one using the -DeliveryGroupName “DeliveryGroupName” when running the import command.

In the picture below there is an example of the output seen in
PowerShell when the import command is run.

Notice the warning when importing Farm settings?  That is because only published applications can be imported, not published desktops.

The picture below shows a Delivery Group with imported applications.

Migration Tool Limitations

The migration tool has a few limitations when importing exported XenApp 6.5 settings:

  • Published Desktops are not imported
  • Published Streamed Applications are not imported/supported
  • Prelaunch applications are imported as applications
  • Some application properties are not imported
  • Application servers are not imported
  • Administrators are not imported
  • Not all policy settings are imported
  • Only policies created in AppCenter (Farm policies) are imported
  • Modifying the folder structure of exported items can cause import issues

Most of the limitations mentioned above are from deprecated features or differences between IMA and FMA technologies.

**Migration Tool Tips
**
A few tips when using the migration tool are:

  • Exported settings must be imported to XenApp/XenDesktop 7.6 site.  XenApp/XenDesktop 7.6 introduces application folders, which are not in earlier 7.x versions.
  • Make sure to specify a Delivery Group name when importing farm settings.  Otherwise a Delivery Group will be created with the XenApp 6.5 farm name.
  • Run the scripts locally on a XenApp 6.5 controller and XenApp/XenDesktop 7.6 controller.  Make sure they are run from a local folder and not a file share.
  • You can preview the import before actually importing to a XenApp/XenDesktop 7.6 site.  This will help identify any possible conflicts or failure points before importing.
  • Use the log file option along with PowerShell logging features to help troubleshoot issues.
  • Make sure to change the PowerShell execution policy to remote-signed before running the scripts.
  • The PowerShell commands have additional command line options for more granular control and ignoring unneeded data.
  • GPO Driver error can happen when importing policies.  Try the import again and they should import fine.
  • The XML files exported have a lot of environment information, be careful who has access to these.

**Overall Migration Tool Thoughts
**
Overall, Citrix has provided a very nice tool when migrating from XenApp 6.5 to XenSplitPersonality 7.6  This will be a handy tool for Citrix admins to finally make the transition from IMA to FMA based environments.  A few things we would like to see in the tool are:

  • Import published desktops
  • GUI for non PowerShell savvy admins
  • Upgrade a XenApp 6.5 worker
  • Automatically ignore data that can’t be imported during export
  • Secure/encrypt the XML files

The Upgrade a XenApp 6.5 worker (also known as session-only servers) inside the tool would be a workflow to do the following:

  1. Remove the XenApp 6.5 worker from the farm.
  2. Remove the XenApp 6.5 software.
  3. Install the XenApp/XenDesktop 7.6 VDA.
  4. Add the server to a Machine Catalog.
  5. Publish the applications in a Delivery Group.

We are really looking forward to the release of this tool and XenApp/XenDesktop 7.6.  We think those who are waiting for the parity gap between IMA and FMA will be happy and finally make the jump to FMA based XenApp.

If you have found this article interesting or if you have any insights, please feel free to contact me via email.