Citrix Virtual Apps and Desktops

Migrating from on-premises to cloud

Automated Configuration allows you to automate moving your on-premises configuration to a cloud site.

The following image is a high-level view of what Automated Configuration can do to migrate your configuration to the cloud.

migrate to cloud pn prem

Prerequisites for migrating your configuration

For exporting your configuration from Citrix Virtual Apps and Desktops, you need:

  • Citrix Virtual Apps and Desktops: current release and its immediate predecessor or Citrix Virtual Apps and Desktops, XenApp and XenDesktop LTSRs: all versions
  • A domain-joined machine with .NET Framework 4.7.2 or later and the Citrix PowerShell SDK. This is automatically installed on the Delivery Controller. (To run on machine other than the on-premises Delivery Controller, Citrix Studio must be installed, as Studio installs the correct PowerShell snap-ins. The Studio installer can be found on the Citrix Virtual Apps and Desktops installation media.)

For importing your configuration into Citrix DaaS (formerly Citrix Virtual Apps and Desktops service), you need:

  • A machine with access to Citrix Cloud. This does not have to be a Delivery Controller or a domain-joined machine.
  • Citrix DaaS provisioned.
  • An active resource location with Connector installed and domain-joined to the same domain as the on-premises setup.
  • Connectivity to sites accessing Citrix Cloud must be allowed and available. For more information, see System and Connectivity Requirements.

Note:

Automated Configuration cannot be installed on a Cloud Connector system.

Exporting your Citrix Virtual Apps and Desktops on-premises configuration

Important:

  • You must have your CustomerInfo.yml file with your customer ID, client ID, and the secret key information included. For more information on how to retrieve your customer ID, client ID and secret key, see Generating the customer ID, client ID, and secret key. For information on how to add this information to the CustomerInfo.yml file, see Populating customer info file.
  • The ZoneMapping.yml file must include information that maps your on-premises zone to Resource Locations in the cloud. For more information on how to map your zones, see Populating zone mapping file.
  • If you have host connections, you must input the corresponding info in the CvadAcSecurity.yml file.
  1. Install Automated Configuration.
  2. Double-click the Auto Config icon. A PowerShell window appears.
  3. Run the following command to export all components. Exporting your on-premises configuration does not change it in any way.

    Export-CvadAcToFile

After you run any cmdlet for the first time, an export folder with the .yml configuration files and logs is created. The folder is at %HOMEPATH%\Documents\Citrix\AutoConfig. Each successive export creates a subfolder. The parent folder %HOMEPATH%\Documents\Citrix\AutoConfig always contains the exported files from the most recent export.

Note:

If Automated Configuration is not installed on the Delivery Controller, run import-module Citrix.AutoConfig.Commands before using the tool through PowerShell. This step is not needed if you open Automated Configuration using the Auto Config icon.

If you encounter any errors or exceptions, see the Fixups section in the log file.

Importing your configuration to Citrix DaaS

Important:

  • You must have your CustomerInfo.yml file with your customer ID, client ID, and the secret key information included. For more information on how to retrieve your customer ID, client ID and secret key, see Generating the customer ID, client ID, and secret key. For information on how to add this information to the CustomerInfo.yml file, see Populating customer info file.
  • The ZoneMapping.yml file must include information that maps your on-premises zone to resource locations in the cloud. For more information on how to map your zones, see Populating zone mapping file.
  • If you have host connections, you must input the corresponding info in the CvadAcSecurity.yml file.
  • When migrating an on-premises deployment to cloud, make sure that the domain and OU GPOs that contain the Citrix settings are migrated to cloud. Citrix Web Studio does not support GPMC and hence, the domain and OU GPOs are not visible in the Web Studio. The Citrix policy engine enforces the domain and OU GPOs on VDAs and users that are in the domains and OUs. Post log in to a VDA, a user might see that the policies from the domain and OU GPOs are applied to their session. However, administrators cannot see these policies and settings which might lead to confusions.

Running an import

  1. Double-click the Auto Config icon. A PowerShell window appears.
  2. Run the following command to import all components.

    Merge-CvadAcToSite

Verify the expected state with the new current state. Various import options control whether the import results are identical or a subset of the on-premises site.

After you run the cmdlet, an export folder with the .yml configuration files and logs is created. The folder is at %HOMEPATH%\Documents\Citrix\AutoConfig.

If you encounter any errors or exceptions, see the Fixups section in the log file.

Note:

If Automated Configuration is not installed on the Delivery Controller, run import-module Citrix.AutoConfig.Commands before using the tool through PowerShell. This step is not needed if you open Automated Configuration using the Auto Config icon.

To revert to your original Citrix DaaS configuration, see Backing up your Citrix DaaS configuration.

Import operation in detail

The import process is designed to accurately perform updates, only perform needed updates and verify that all updates have been correctly made. The steps followed in all import operations follow.

  1. Read the exported .yml file (expected state).
  2. Read the cloud (current state).
  3. Back up the pre-import cloud state to .yml files (pre-backup can be restored if necessary).
  4. Evaluate the differences between the expected and current state. This determines which updates to make.
  5. Make the updates.
  6. Reread the cloud (new current state).
  7. Back up the post-import cloud state to .yml files (post-backup can be restored if necessary).
  8. Compare the new current state with the expected state.
  9. Report the results of the comparison.

Granular migration

Important:

For more information on component migration order, see Component migration order.

You can selectively migrate components only or even component names only.

  • Component parameters supported include MachineCatalogs, Tags and more.
  • Component name parameters supported include IncludeByName and ExcludeByName parameters, and others.

For more information on parameters and how to use them, see Granular migration parameters.

Activating sites

Site activation allows you to control which site is active and controls your resources. For more information, see Activating sites.

Migrating from on-premises to cloud