Citrix DaaS
感谢您提供反馈

这篇文章已经过机器翻译.放弃

将配置迁移到 Citrix Cloud

自动配置工具 (ACT) 允许将 Citrix Virtual Apps 和 Desktops 配置(策略、应用程序、目录、管理员角色、范围等)从一个或多个本地站点迁移到 Citrix Cloud 上托管的 Citrix DaaS。 它还可用于在不同的云区域或租户之间迁移信息。

此工具可以发现并将一个或多个本地站点导出为配置文件集合,您可以选择编辑这些配置文件。 然后,可以将这些文件的配置导入到 Citrix DaaS 中。 通过多次运行该工具分阶段完成迁移,使您轻松实现所需的配置状态。

ACT 不仅仅是一个一次性的迁移工具。 您可以使用它来管理日常云操作,例如:

  • 自动从测试或阶段云帐户转移到生产云帐户
  • 备份和还原配置
  • 将一个云环境拆分为多个云

下面这个 2 分钟的视频提供了自动配置的快速浏览。

有关自动配置的更多信息,请参阅 Tech Zone 上的概念证明:自动配置工具

要深入了解如何移动您的部署和准备好迁移本地配置,请参阅 Tech Zone 上的部署指南:将 Citrix Virtual Apps and Desktops 从本地迁移到 Citrix Cloud

已知限制

迁移配置的必备条件

要从 Citrix Virtual Apps and Desktops 导出 配置,您需要:

  • Citrix Virtual Apps and Desktops:当前版本及其直接前代产品或 Citrix Virtual Apps and Desktops、XenApp 和 XenDesktop LTSR:所有版本
  • 安装了 .NET Framework 4.7.2 或更高版本以及 Citrix PowerShell SDK 的已加入域的计算机。 这将自动安装在 Delivery Controller 上。 (要在本地 Delivery Controller 以外的计算机上运行,必须安装 Citrix Studio,这样 Studio 才能安装正确的 PowerShell 管理单元。 Studio 安装程序位于 Citrix Virtual Apps and Desktops 安装介质中。)

为了 您的配置导入 Citrix DaaS,您需要:

  • 有权访问 Citrix Cloud 的计算机。 这不一定是 Delivery Controller 或加入了域的计算机。
  • Citrix DaaS 已预配。
  • 安装了 Connector 并加入到与本地设置相同的域的活动资源位置。
  • 必须允许并且可以连接到访问 Citrix Cloud 的站点。 有关更多信息,请参阅 系统和连接要求.

注意:

无法在 Cloud Connector 系统中安装自动配置。

关键步骤

  1. 下载自动配置工具并查看系统要求。 参见 下载自动配置
  2. 使用从 Citrix Cloud 门户生成的 CustomerNameCustomerIDSecretKey 值填充 CustomerInfo.yml 文件。 参见 生成客户 ID、客户端 ID 和密钥填充客户信息文件
  3. 如果本地站点包含多个区域,请更新 ZoneMapping.yml 文件以将区域映射到 Citrix DaaS 资源位置。 参见 填充区域映射文件
  4. 如果站点包含多个托管连接,请使用迁移到 Citrix DaaS 的每种主机类型的连接信息更新 CvadAcSecurity.yml 文件。 如果只有单个主机连接,请使用主机连接的连接信息更新 CvadACSecurity.yml 文件。 参见 更新主机连接的安全文件
  5. 打开 ACT 并使用 Export-CvadAcToFile 命令导出您的本地站点。 请参阅 支持的迁移对象 以获取支持迁移的组件列表。 有关导出步骤的信息,请参阅 导出本地配置
  6. 使用 Merge-CvadAcToSite 命令分阶段导入组件。 或者,一次性迁移整个站点。 确保按照 组件迁移顺序中列出的顺序迁移组件。 有关导入步骤的信息,请参阅 运行导入
  7. 激活云站点。 参见 激活站点

下载自动配置

Citrix 下载下载并安装自动配置工具。

升级自动配置

为防止功能错误,请始终使用最新可用版本的 ACT。

要了解您的工具版本,请执行以下操作:

  1. 双击自动配置图标。 此时将显示 PowerShell 窗口。
  2. 运行以下命令以检查您的版本号。

    Get-CvadAcStatus
  3. 请将您的工具版本与 Citrix 下载中列出的版本进行核对。 该工具的最新版本位于此处。
  4. 下载并安装最新版本的工具。 需卸载旧版本即可升级自动配置。

注意:

当您运行 cmdlet 以在自动配置中访问云时,当有新版本可供下载时,该工具会提醒您。 有关 cmdlet 的详细信息,请参阅自动配置工具 cmdlet

生成客户 ID、客户端 ID 和密钥

要将本地站点迁移到 Citrix DaaS,请使用来自 Citrix Cloud 门户的客户 ID、客户端 ID 和密钥填充 CustomerInfo.yml 文件。

要检索客户 ID,请执行以下操作:

  1. 登录到您的 Citrix Cloud 帐户并选择相应客户。
  2. 单击网格图标并选择 身份和访问管理
  3. 导航到 API 访问 > 安全客户端。 客户 ID 显示在页面上。

要检索客户端 ID 和密钥:

  1. 安全客户端 页面上,在框中输入名称。 此名称用于区分多个客户端 ID 和密钥。
  2. 单击创建客户端以创建客户端 ID 和密钥。
  3. 将客户端 ID 和密钥复制到安全位置,并下载包含此信息的 .csv 文件。 使用 .csv 文件填充 CustomerInfo.yml 文件。

注意:

  • 客户端 ID 和密钥不会过期。 如果它们被盗用,请立即使用垃圾桶图标将其删除,然后创建新的客户端 ID 和密钥。
  • 密钥在丢失或忘记的情况下无法找回;必须创建新的客户端 ID 和密钥。

填充客户信息文件

CustomerInfo.yml 文件消除了每次运行 cmdlet 时提供客户信息参数的需要。 使用 cmdlet 参数可以覆盖任何客户信息。

使用 New-CvadAcCustomerInfoFile cmdlet 创建 CustomerInfo.yml 文件。

-priority

请勿手动编辑 CustomerInfo.yml 文件。 这样做可能会导致出现意外的格式错误。

New-CvadAcCustomerInfoFile cmdlet 具有以下必需参数。

  • CustomerId – 客户的 ID。
  • ClientId – 客户的客户端 ID(在 Citrix Cloud 上创建)。
  • Secret – 客户的密钥(在 Citrix Cloud 上创建)。

Example:

New-CvadAcCustomerInfoFile -CustomerId markhof123 -ClientId 6813EEA6-46CC-4F8A-BC71-539F2DAC5984 -Secret TwBLaaaaaaaaaaaaaaaaaw==

您还可以使用指向已下载的 security.csv 文件的 SecurityCsvFileSpec 参数创建 CustomerInfo.yml 。 还必须指定 CustomerId。

New-CvadAcCustomerInfoFile -SecurityCsvFileSpec C:\Users\my_user_name\downloads/security.csv -CustomerId markhof123

使用 Set-CvadAcCustomerInfoFile cmdlet 来更新 CustomerInfo.yml 文件。 此 cmdlet 只会更改客户端 ID。

Set-CvadAcCustomerInfoFile -ClientId C80487EE-7113-49F8-85DD-2CFE30CC398E

下面是一个示例 CustomerInfo.yml 文件。

              # Created/Updated on 2020/01/29 16:46:47
              CustomerId: ‘markhof123’
              ClientId: ‘6713FEA6-46CC-4F8A-BC71-539F2DDK5384’
              Secret: ‘TwBLaaabbbaaaaaaaaaaw==Environment: Production
              AltRootUrl: ‘’
              StopOnError: False
              AlternateFolder: ‘’
              Locale: ‘en-us’
              Editor:C:\Program Files\Notepad++\notepad++.exe’
              Confirm: True
              DisplayLog: True

填充区域映射文件

本地区域相当于云资源位置。 与其他站点组件不同,您无法自动将本地区域导入到云中。 相反,必须使用 ZoneMapping.yml 文件手动映射。 如果区域名称与现有资源位置名称未关联,则可能会发生导入失败。

如果本地站点只有一个区域,而云站点只有一个资源位置,则自动配置工具会进行正确的关联,无需手动管理 ZoneMapping.yml 文件。

但是,如果内部部署站点有多个区域或云站点有多个资源位置,则手动更新 ZoneMapping.yml 文件以反映内部部署区域到云资源位置的正确映射。

ZoneMapping.yml 文件位于 %HOMEPATH%\Documents\Citrix\AutoConfig.yml 文件的内容是一个以区域名称为键、以资源位置名称为值的字典。

例如,将具有名为“Zone-1”的主要区域和名为“Zone-2”的辅助区域的本地 Citrix Virtual Apps and Desktops 站点迁移到具有两个新创建的云资源位置(分别称为“Cloud-RL-1”和“Cloud-RL-2”)的 Citrix DaaS 部署。 在这种情况下,ZoneMapping.yml 将按如下所示进行配置:

              Zone-1: Cloud-RL-1

              Zone-2: Cloud-RL-2

注意:

在冒号和资源位置名称之间添加空格。 如果区域或资源位置名称中使用空格,请将名称用引号引起。

更新主机连接的安全文件

可以使用 ACT 导出和导入主机连接及其相关的虚拟机管理程序。

向主机连接添加虚拟机管理程序需要特定于虚拟机管理程序类型的安全信息。 出于安全考虑,无法从本地站点导出此信息。 您必须手动提供该信息,以便自动配置能够成功地将主机连接和虚拟机管理程序导入云站点。

导出过程在 %HOMEPATH%\Documents\Citrix\AutoConfig 中创建 CvadAcSecurity.yml 文件,其中包含特定虚拟机管理程序类型所需的每个安全项的占位符。 您必须在导入云站点之前更新 CvadAcSecurity.yml 文件。 在根据需要添加新的安全占位符的多次导出过程中,将保留管理员进行的更新。 禁止删除安全项目。 有关更多信息,请参阅 手动更新 CvadAcSecurity.yml 文件

              HostConn1:
              ConnectionType: XenServer
              UserName: root
              PasswordKey: rootPassword
              HostCon2:
              ConnectionType: AWS
              ApiKey: 78AB6083-EF60-4D26-B2L5-BZ35X00DA5CH
              SecretKey: TwBLaaaaaaaaaaaaaaaaaw==
              Region: East

每个虚拟机管理程序的安全信息

下面列出了每种虚拟机管理程序类型所需的安全信息。

  • XenServer、Hyper-V、VMware
    • 用户名
    • 明文密码
  • Microsoft Azure
    • 订阅 ID
    • 应用程序 ID
    • 应用程序机密
  • AWS
    • 服务帐户 ID
    • 应用程序机密
    • 地理区域

特殊安全注意事项

所有安全信息都以明文形式输入。 如果不建议使用明文,则可以使用 Studio手动创建主机连接和相关的虚拟机管理程序。 主机连接和虚拟机管理程序名称必须与其本地主机连接和虚拟机管理程序名称完全相同,以便成功导入使用主机连接的计算机目录。

导出 Citrix Virtual Apps and Desktops 本地配置

使用 export PowerShell 命令,您可以导出现有的本地配置并获取必要的 .yml 文件。 这些文件用于将您想要的配置导入 Citrix Cloud。

支持的迁移对象

自动配置支持移动以下组件的配置:

  • 标记
  • 委派管理员
    • 作用域
    • 角色
  • 主机连接
    • 单个资源池
    • 管理员作用域
  • 计算机目录
    • 管理员作用域
    • 计算机
    • Remote PC Access、物理、池化、已预配、MCS、已分配
  • StoreFront
  • 交付组
    • 访问策略
    • 管理员范围关联
    • 应用程序访问策略
    • 分配策略
    • 注册/桌面策略
    • 电源计划
    • 会话持续
    • 会话预启动
    • 重新启动计划
    • 标记
  • 应用程序组
    • 管理员范围关联
    • 交付组
    • 用户和组
  • Applications
    • 应用程序文件夹
    • 图标
    • Applications
    • 代理配置的 FTA
    • 标记
  • 组策略
  • 用户区域首选项

导出本地配置

  1. 双击自动配置图标。 此时将显示 PowerShell 窗口。
  2. 运行以下命令以导出所有组件。 导出您的本地配置会以任何方式更改这些配置。

    Export-CvadAcToFile

第一次运行任何 cmdlet 后,都会创建一个包含 .yml 配置文件和日志的导出文件夹。 该文件夹位于 %HOMEPATH%\Documents\Citrix\AutoConfig。 每次连续导出都将创建一个子文件夹。 父文件夹 %HOMEPATH%\Documents\Citrix\AutoConfig 始终包含最近导出的对象中的导出文件。

注意:

如果 Delivery Controller 上未安装自动配置,请在通过 PowerShell 使用该工具之前运行 import-module Citrix.AutoConfig.Commands。 如果使用自动配置图标打开自动配置,则不需要执行此步骤。

如果您遇到任何错误或异常,请参阅日志文件中的 Fixups 部分。

将配置导入到 Citrix DaaS

-priority

  • 将本地部署迁移到云端时,请确保将包含 Citrix 设置的域和 OU GPO 迁移到云端。 Citrix Web Studio 不支持 GPMC,因此,域和 OU GPO 在 Web Studio 中不可见。 Citrix 策略引擎在域和 OU 中的 VDA 和用户上强制执行域和 OU GPO。 登录 VDA 后,用户可能会看到来自域和 OU GPO 的策略已应用于他们的会话。 但是,管理员看不到这些策略和设置,这可能会导致混淆。

组件迁移顺序

此处列出了组件及其依赖关系。 组件的依赖关系必须到位,才能将其导入或合并。 如果缺少依赖关系,则可能会导致导入或合并命令失败。 如果导入或合并失败,日志文件的 Fixups 部分会显示缺少依赖关系。

  1. 标记
    • 无预依赖关系
  2. 委派管理员
    • 无预依赖关系
  3. 主机连接
    • CvadAcSecurity.yml 中的安全信息
  4. 计算机目录
    • Active Directory 中存在的计算机
    • 主机连接
    • 标记
  5. StoreFront
  6. 交付组
    • Active Directory 中存在的计算机
    • Active Directory 中存在的用户
    • 计算机目录
    • 标记
  7. 应用程序组
    • 交付组
    • 标记
  8. 应用程序
    • 交付组
    • 应用程序组
    • 标记
  9. 组策略
    • 交付组
    • 标记
  10. 用户区域首选项

运行导入

  1. 双击自动配置图标。 此时将显示 PowerShell 窗口。
  2. 运行以下命令以导入所有组件。

    Merge-CvadAcToSite

请使用新的当前状态来验证预期状态。 各种导入选项控制导入结果相同还是属于本地站点的子集。

运行 cmdlet 后,将创建一个包含 .yml 配置文件和日志的导出文件夹。 该文件夹位于 %HOMEPATH%\Documents\Citrix\AutoConfig

如果您遇到任何错误或异常,请参阅日志文件中的 Fixups 部分。

注意:

如果 Delivery Controller 上未安装自动配置,请在通过 PowerShell 使用该工具之前运行 import-module Citrix.AutoConfig.Commands。 如果使用自动配置图标打开自动配置,则不需要执行此步骤。

要恢复到原始 Citrix DaaS 配置,请参阅 备份 Citrix DaaS 配置

了解导入操作

导入过程旨在准确执行更新,仅执行所需的更新,并验证所有更新是否正确进行。 所有导入操作均遵循以下步骤:

  1. 读取导出的 .yml 文件(预期状态)。
  2. 读取云(当前状态)。
  3. 将预导入云状态备份到 .yml 文件(如有必要,可以还原预备份)。
  4. 评估预期状态与当前状态之间的差异。 这决定了要进行哪些更新。
  5. 进行更新。
  6. 重读云(新的当前状态)。
  7. 将导入后的云状态备份到 .yml 文件(如有必要,可以还原备份后状态)。
  8. 将新的当前状态与预期状态进行比较。
  9. 报告比较的结果。

精细迁移

-priority

有关组件迁移顺序的更多信息,请参阅 组件迁移顺序

您可以有选择地仅迁移组件,甚至仅迁移组件名称。

  • 支持的组件参数包括 MachineCatalogsTags等等。
  • 支持的组件名称参数包括 IncludeByNameExcludeByName 参数以及其他参数。

有关参数及其使用方法的详细信息,请参阅粒度迁移参数

激活网站

本地和云站点中的交付控制器控制代理桌面、应用程序和重启机器等资源。 当一组常见的资源由两个或更多站点控制时会出现问题。 从本地站点迁移到云站点时,可能会发生这种情况。 本地 Delivery Controller 和云端 Delivery Controller 都可以管理相同的一组资源。 这种双重管理可能会导致资源变得不可用和无法管理,并且可能难以诊断。

站点激活允许您控制活动站点的控制位置。

使用交付组维护模式管理站点激活。 当站点处于非活动状态时,交付组将处于维护模式。 对于处于活动状态的站点,将从交付组中删除维护模式。

站点激活不会影响或管理 VDA 注册或计算机目录。

  • Set-CvadAcSiteActiveStateCloud
  • Set-CvadAcSiteActiveStateOnPrem

所有 cmdlet 都支持 IncludeByNameExcludeByName 过滤。 此参数允许您选择哪些交付组可以更改其维护模式。 可以根据需要有选择地更改交付组。

将控制权导入和转移到云

下面是关于如何将控制权从本地站点导入和转移到云站点的高级说明。

  1. 将本地站点导出并导入到云中。 确保任何导入 cmdlet 上都不存在 –SiteActive 参数。 本地站点处于活动状态,云站点处于非活动状态。 默认情况下,云站点交付组处于维护模式。
  2. 验证云内容和配置。
  3. 在空闲时间,将本地站点设置为非活动状态。 –SiteActive 参数必须不存在。 所有本地站点交付组都处于维护模式。
    • Set-CvadAcSiteActiveStateOnPrem
  4. 将云站点设置为活动状态。 –SiteActive 参数必须存在。 没有云站点交付组处于维护模式。
    • Set-CvadAcSiteActiveStateCloud –SiteActive
  5. 验证云站点是否处于活动状态且本地站点处于非活动状态。

将控制权转回本地站点

要将控制权从云站点转移到本地站点,请执行以下操作:

  1. 在空闲时间,将云站点设置为非活动状态。 所有云站点交付组都处于维护模式。
    • Set-CvadAcSiteActiveStateCloud
  2. 将本地站点设置为活动状态。 没有本地站点交付组处于维护模式。
    • Set-CvadAcSiteActiveStateOnPrem -SiteActive

其他站点激活信息

  • 如果没有计算机进行电源管理且没有重新启动计划(这通常表示没有主机连接),则可以将所有云交付组导入为活动状态。 向 Merge-CvadAcToSite/Import-CvadAcToSite 中添加 -SiteActive 或导入后运行 Set-CvadAcSiteActiveStateCloud -SiteActive
  • 如果计算机受到电源管理或者有重新启动计划,则需要不同的过程。 例如,在这种情况下从本地切换到云时,使用 Set-CvadAcSiteActiveStateOnPrem 将本地站点设置为非活动状态。 然后,使用 Set-CvadAcSiteActiveStateCloud -SiteActive 将云站点设置为活动状态。
  • Set-CvadAcSiteActiveStateCloudSet-CvadAcSiteActiveStateOnPrem cmdlet 也用于反转该过程。 例如,先运行不带 -SiteActive 参数的 Set-CvadAcSiteActiveStateCloud,然后再运行带 -SiteActive 参数的 Set-CvadAcSiteActiveStateOnPrem

了解如何迁移 Machine Creation Services 预配的目录

注意:

此功能仅在 3.0 及更高版本中提供。 在自动配置中使用 Get-CvadAcStatus 检查您的版本。

Machine Creation Services (MCS) 目录创建两种不同类型的目录:

  • 当对计算机所做的更改丢失或撤销时(通常是发布应用程序的服务器操作系统)– 这是一个池化 VDI/多会话用例
  • 在重新启动过程中保留对计算机所做的更改时(通常为具有专有用户的客户端操作系统)- 这是一个静态 VDI 用例

可以在 Citrix Studio 的目录节点中确认目录类型,然后查看目录的“用户数据:”值。

注意:

无法使用自动配置从云中备份 MCS。

池 VDI/多会话目录

包含“用户数据: 丢弃”的目录是池 VDI 目录,只能迁移主映像和配置。 不会迁移这些目录中的任何虚拟机。 这是因为虚拟机的生命周期由您从中导入的站点进行维护,这意味着每次打开计算机时,其状态都可能会发生变化。 这将导致无法导入,因为虚拟机的导入数据很快就会失去同步。

使用该工具迁移这些目录时,它会创建目录元数据并启动主映像创建,但不会导入任何计算机。

由于根据主映像的大小创建此过程可能需要一些时间,因此该工具中的导入命令只会启动 MCS 目录的创建过程,而不会等待创建完成。 导入完成后,使用云部署中的 Studio 监控目录创建进度。

创建主映像后,可以预配计算机。 请考虑容量问题,因为您会从本地使用中消耗容量。

使用该目录的所有其他对象(交付组、应用程序、策略等)都可以导入,而不必等待主映像创建。 目录创建完成后,可以将计算机添加到导入的目录中,用户之后可以启动其资源。

注意:

使用该工具中可用的相同命令迁移目录以及所有其他对象。

静态 VDI 目录

注意:

由于此操作会导入存储在数据库中的低级别详细信息,因此必须从具有数据库访问权限的计算机运行此过程。

静态 VDI 目录迁移主映像、配置和所有虚拟机。 与池 VDI 用例不同,不需要创建任何映像。

VDA 必须指向连接器才能在云中注册。

请参阅激活站点部分以使云站点处于活动状态,以便重新启动计划、电源管理和其他项目由云控制。

迁移完成后,如果您想从本地站点删除此目录,则必须选择 离开 VM 和 AD 帐户。 否则,它们将被删除,云站点将指向已删除的 VM。

更新 MCS 标签以在迁移后检测孤立资源

从本地配置迁移到云站点,或从云配置迁移到另一个云站点后,如果是永久虚拟机,则必须更新 MCS 站点 ID 标记,这样才能正确检测孤立资源。 要执行此操作,请使用 PowerShell 命令 Set-ProvResourceTags。 目前,此功能适用于 Azure。

具体步骤如下:

  1. 使用 PowerShell 命令 Set-ProvResourceTags 从新 Citrix 站点更新 MCS 站点 ID 标签。 例如:

    Set-ProvResourceTags -ProvisioningSchemeUid xxxxx [-VMName <String>] [-VMBatchSize XX] [-ResourceType XX]

    或者,

    Set-ProvResourceTags -ProvisioningSchemeName xxxxx [-VMName <String>] [-VMBatchSize XX] [-ResourceType XX]

参数详细信息如下:

  • ProvisioningSchemeUid 或者 ProvisioningSchemeName 是必选参数。
  • VMName 是可选参数。 如果未指定 VMName,则更新该计算机目录中所有虚拟机的标签。
  • VMBatchSize 是将所有虚拟机分成批的可选参数。 如果未指定 VMBatchSize,则应用默认值 (10)。 范围是 1 到 60。
  • ResourceType 可以是以下之一:

    • MachineCatalog:用于更新计算机目录资源的标签。
    • VirtualMachine:用于更新虚拟机相关资源的标签。
    • All:(默认资源类型):用于更新计算机目录和虚拟机相关资源的标签。
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。