将配置迁移到 思杰云™
自动化配置工具 (ACT) 允许将 Citrix Virtual Apps and Desktops™ 配置(策略、应用程序、目录、管理员角色、范围等)从一个或多个本地站点迁移到 Citrix Cloud 上托管的 Citrix DaaS。它还可以用于在不同的云区域或租户之间迁移信息。
此工具可发现并导出一个或多个本地站点作为配置文件的集合,您可以选择编辑这些文件。然后,这些文件的配置可以导入到 Citrix DaaS 中。 迁移分阶段进行,通过多次运行该工具,使您能够轻松实现所需的配置状态。
ACT 不仅仅是一个一次性迁移工具。您可以使用它来管理日常云操作,例如:
- 实现从测试或暂存云帐户到生产云帐户的自动化传输
- 对您的配置进行备份和还原
- 将单个云环境拆分为多个云环境
以下 2 分钟 视频提供了自动化配置的快速概览。
有关自动化配置的其他信息,请参阅 Tech Zone 上的 概念验证:自动化配置工具。
要深入了解如何移动部署以及为迁移准备本地配置,请参阅 Tech Zone 上的 部署指南:将 Citrix Virtual Apps and Desktops 从本地迁移到 Citrix Cloud。
已知局限性
- 通过 Machine Creation Services™ 预配的计算机目录具有特殊注意事项。有关 MCS 的更多信息,请参阅 了解迁移 Machine Creation Services 预配的目录。
迁移您的配置所需的先决条件
要从 思杰虚拟应用和桌面 导出 您的配置,您需要:
- Citrix Virtual Apps and Desktops: current release and its immediate predecessor or Citrix Virtual Apps and Desktops, XenApp and XenDesktop® LTSRs: all versions
- 一台已加入域的计算机,安装了 .NET Framework 4.7.2 或更高版本以及 Citrix PowerShell 软件开发工具包。此软件会自动安装在交付控制器上。(要在本地交付控制器以外的计算机上运行,必须安装 Citrix Studio,因为 Studio 会安装正确的 PowerShell 管理单元。Studio 安装程序可在 Citrix Virtual Apps and Desktops 安装介质 上找到。)
要将配置导入到 Citrix DaaS 中,您需要:
- 一台可以访问 Citrix Cloud 的计算机。这不必是 Delivery Controller™ 或已加入域的计算机。
- Citrix DaaS provisioned.
- 一个已安装 Connector 并已加入与本地设置相同域的活动资源位置。
- 必须允许并提供访问 Citrix Cloud 的站点的连接。有关详细信息,请参阅 系统和连接要求。
注意:
自动化配置无法安装在 Cloud Connector 系统上。
主要步骤
- 下载自动化配置工具并查看系统要求。请参阅 下载自动化配置。
- 使用从 Citrix Cloud 门户生成的
CustomerName、CustomerID和SecretKey值填充CustomerInfo.yml文件。请参阅 生成客户 ID、客户端 ID 和密钥 和 填充客户信息文件。 - 如果本地站点包含多个区域,请更新
ZoneMapping.yml文件以将区域映射到 Citrix DaaS 资源位置。请参阅 填充区域映射文件。 - 如果站点包含多个托管连接,请使用每个迁移到 Citrix DaaS 的主机类型的连接信息更新
CvadAcSecurity.yml文件。如果只有一个主机连接,请使用该主机连接的连接信息更新CvadACSecurity.yml文件。请参阅 更新主机连接的安全文件。 - 打开 ACT 并使用
Export-CvadAcToFile命令导出您的本地站点。有关支持迁移的组件列表,请参阅 支持的迁移对象。有关导出步骤的信息,请参阅 导出本地配置。 - 使用
Merge-CvadAcToSite命令分阶段导入组件。或者,一次性迁移整个站点。确保按照 组件迁移顺序 中列出的顺序迁移组件。有关导入步骤的信息,请参阅 运行导入。 - 激活云站点。请参阅 激活站点。
下载自动化配置工具
从 Citrix 下载 下载并安装自动化配置工具。
升级自动化配置工具
为防止功能出错,请始终使用 ACT 的最新可用版本。
要了解您的工具版本,请执行以下操作:
- 双击 Auto Config 图标。将显示一个 PowerShell 命令行界面窗口。
-
运行以下命令以检查您的版本号。
Get-CvadAcStatus <!--NeedCopy--> - 将您的工具版本与 Citrix 下载 中列出的版本进行比较。最新版本的工具位于该处。
- 下载并安装最新版本的工具。您无需卸载旧版本即可升级自动化配置工具。
注意:
在自动化配置中运行 cmdlet 以访问云时,如果有可供下载的新版本,该工具会提醒您。有关 cmdlet 的更多信息,请参阅 自动化配置工具 cmdlet。
生成客户 ID、客户端 ID 和密钥
要将本地站点迁移到 Citrix DaaS,请使用 Citrix Cloud 门户中的客户 ID、客户端 ID 和密钥填充 CustomerInfo.yml 文件。
要检索客户 ID:
- 登录您的 Citrix Cloud 帐户并选择客户。
- 单击网格图标并选择 身份和访问管理。
- 导航到 API 访问 > 安全客户端。客户 ID 将显示在该页面上。
要检索客户端 ID 和密钥:
- 在 安全客户端 页面上,在框中输入一个名称。此名称用于区分多个客户端 ID 和密钥。
- 单击“创建客户端”以创建客户端 ID 和密钥。
- 将客户端 ID 和密钥复制到安全位置,并下载包含此信息的
.csv文件。使用.csv文件填充CustomerInfo.yml文件。
注意:
- 客户端 ID 和密钥不会过期。如果它们遭到泄露,请立即使用 垃圾桶 图标将其删除并创建新的。
- 如果密钥丢失或遗忘,则无法检索;必须创建新的客户端 ID 和密钥。
填充客户信息文件
CustomerInfo.yml 文件消除了每次运行 cmdlet 时提供客户信息参数的需要。任何客户信息都可以通过使用 cmdlet 参数进行覆盖。
使用 New-CvadAcCustomerInfoFile cmdlet 创建 CustomerInfo.yml 文件。
重要提示:
不要手动编辑
CustomerInfo.yml文件。这样做可能会导致意外的格式错误。
New-CvadAcCustomerInfoFile cmdlet 具有以下必需参数。
- 客户 ID: 客户的 ID。
- 客户端 ID: 客户在 Citrix Cloud 上创建的客户端 ID。
- 密钥:在 Citrix Cloud 上创建的客户密钥。
示例:
New-CvadAcCustomerInfoFile -CustomerId markhof123 -ClientId 6813EEA6-46CC-4F8A-BC71-539F2DAC5984 -Secret TwBLaaaaaaaaaaaaaaaaaw==
<!--NeedCopy-->
您还可以使用指向下载的 security.csv 文件的 SecurityCsvFileSpec 参数创建 CustomerInfo.yml。您还必须指定 CustomerId。
New-CvadAcCustomerInfoFile -SecurityCsvFileSpec C:\Users\my_user_name\downloads/security.csv -CustomerId markhof123
<!--NeedCopy-->
使用 Set-CvadAcCustomerInfoFile cmdlet 更新 CustomerInfo.yml 文件。此 cmdlet 仅更改客户端 ID。
Set-CvadAcCustomerInfoFile -ClientId C80487EE-7113-49F8-85DD-2CFE30CC398E
<!--NeedCopy-->
以下是 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
每个管理程序的安全信息
以下列出了适用于每种管理程序类型的安全信息。
- 泽农服务器、超V、威睿
- 用户名
- 明文形式的密码
- 微软 阿祖尔
- 订阅 ID
- 应用程序 ID
- 应用程序密钥
- AWS
- 服务账户 ID
- 应用程序密钥
- 区域
特殊安全注意事项
所有安全信息均以明文形式输入。如果不建议使用明文,则可以使用 Studio 手动创建主机连接和关联的虚拟机管理程序。主机连接和虚拟机管理程序名称必须与其本地对应项完全匹配,以便成功导入使用这些主机连接的计算机目录。
导出您的 Citrix 虚拟应用和桌面 本地配置
使用 export PowerShell 命令,您可以导出现有的本地配置并获取必要的 .yml 文件。这些文件用于将您所需的配置导入到 Citrix Cloud 中。
支持的迁移对象
自动化配置支持对以下组件的配置进行迁移操作:
- 标签
- 委派管理
- 作用域
- 角色
- 主机连接
- 一个单一的资源池
- 管理员范围
- 计算机目录
- 管理员范围
- 计算机
- 远程电脑访问、物理、池化、预配、MCS、已分配
- 思拓坊™
- 交付群组
- 访问策略
- 管理员范围关联
- 应用程序访问策略
- 用户指派策略
- 授权/桌面策略
- 电源计划
- 会话持续保留
- 会话预启动
- 重启计划
- 标签
- 应用程序组
- 管理范围关联
- 交付群组
- 用户和组
- 应用程序
- 应用程序文件夹
- 图标
- 应用程序
- 代理配置的 FTA
- 标签
- 群组策略
- 用户区域首选项
导出本地部署配置
- 双击自动配置图标。将显示一个 PowerShell 窗口。
-
运行以下命令以导出所有组件。导出本地配置不会以任何方式更改它。
Export-CvadAcToFile <!--NeedCopy-->
首次运行任何 cmdlet 后,将创建一个包含 .yml 配置文件和日志的导出文件夹。该文件夹位于 %HOMEPATH%\Documents\Citrix\AutoConfig。每次后续导出都会创建一个子文件夹。父文件夹 %HOMEPATH%\Documents\Citrix\AutoConfig 始终包含最新导出的文件。
注意:
如果 Delivery Controller 上未安装自动配置,请在使用 PowerShell 工具之前运行
import-module Citrix.AutoConfig.Commands。如果使用自动配置图标打开自动配置,则不需要此步骤。
如果遇到任何错误或异常,请参阅日志文件中的修复部分。
将您的配置导入 Citrix DaaS
重要:
- 将本地部署迁移到云时,请确保包含 Citrix 设置的域和 OU GPO 已迁移到云。Citrix Web Studio™ 不支持 GPMC,因此域和 OU GPO 在 Web Studio 中不可见。Citrix 策略引擎对位于域和 OU 中的 VDA 和用户强制执行域和 OU GPO。登录 VDA 后,用户可能会看到域和 OU GPO 中的策略已应用于其会话。但是,管理员无法看到这些策略和设置,这可能会导致混淆。
组件迁移的顺序
此处列出了组件及其依赖项。组件的依赖项必须在导入或合并之前就位。如果缺少依赖项,可能会导致导入或合并命令失败。如果导入或合并失败,日志文件的修复部分会显示缺失的依赖项。
- 标签
- 无前置依赖项
- 委派管理员
- 无前置依赖项
- 主机连接
- Security Information in CvadAcSecurity.yml
- 计算机目录
- 活动目录中存在的计算机
- 主机连接
- 标签
- StoreFront
- 交付群组
- 活动目录中存在的计算机
- 活动目录中存在的用户
- 计算机目录
- 标签
- 应用程序组
- 交付群组
- 标签
- 应用程序
- 交付群组
- 应用程序组
- 标签
- 组策略设置
- 交付组配置
- 标签
- 用户区域首选项
运行导入
- 请双击 Auto Config 图标。此时会弹出一个 PowerShell 窗口。
-
运行以下命令以导入所有组件。
Merge-CvadAcToSite <!--NeedCopy-->
使用新的当前状态验证预期状态。各种导入选项控制导入结果是与本地站点相同还是其子集。
运行 cmdlet 后,将创建一个包含 .yml 配置文件和日志的导出文件夹。该文件夹位于 %HOMEPATH%\Documents\Citrix\AutoConfig。
如果遇到任何错误或异常,请参阅日志文件中的 Fixups 部分。
注意:
如果交付控制器上未安装自动化配置,请在通过 PowerShell 使用该工具之前运行
import-module Citrix.AutoConfig.Commands。如果您使用 自动配置 图标打开自动化配置,则不需要执行此步骤。
要恢复到原始 Citrix DaaS 配置,请参阅 备份您的 Citrix DaaS 配置。
了解导入操作的流程
导入过程旨在准确执行更新,仅执行必要的更新,并验证所有更新均已正确完成。所有导入操作都遵循以下步骤:
- 读取导出的 .yml 文件(预期状态)。
- 读取云(当前状态)。
- 将导入前的云状态备份到 .yml 文件(如有必要,可以恢复预备份)。
- 评估预期状态和当前状态之间的差异。这决定了要进行的更新。
- 进行更新。
- 重新读取云(新的当前状态)。
- 将导入后的云状态备份到 .yml 文件(如有必要,可以恢复后备份)。
- 将新的当前状态与预期状态进行比较。
- 报告比较操作的结果。
细粒度迁移
重要:
有关组件迁移顺序的更多信息,请参阅 Component migration order。
您可以选择性地仅迁移组件,甚至仅迁移组件名称。
- 支持的组件参数包括
MachineCatalogs、Tags等。 - 支持的组件名称参数包括
IncludeByName和ExcludeByName参数以及其他参数。
有关参数及其使用方法的更多信息,请参阅 精细迁移参数。
激活站点
本地和云站点中的交付控制器控制着资源,例如代理桌面、应用程序和重新启动计算机。当一组通用资源由两个或更多站点控制时,就会出现问题。从本地站点迁移到云站点时可能会出现这种情况。本地和云交付控制器都可能管理同一组资源。这种双重管理可能导致资源变得不可用和无法管理,并且难以诊断。
站点激活允许您控制活动站点的受控位置。
站点激活通过交付组维护模式进行管理。当站点处于非活动状态时,交付组将置于维护模式。对于活动站点,将从交付组中移除维护模式。
站点激活不影响或管理 VDA 注册或计算机目录。
Set-CvadAcSiteActiveStateCloudSet-CvadAcSiteActiveStateOnPrem
所有 cmdlet 都支持 IncludeByName 和 ExcludeByName 筛选。此参数允许您选择哪些交付组可以更改其维护模式。可以根据需要选择性地更改交付组。
导入并将控制权转移到云端
以下是关于如何从本地站点导入并转移控制权到云站点的高级描述。
- 将本地站点导出并导入到云。确保任何导入 cmdlet 中不存在
–SiteActive参数。本地站点处于活动状态,云站点处于非活动状态。默认情况下,云站点交付组处于维护模式。 - 对云内容和配置进行验证。
- 在非工作时间,将本地站点设置为非活动状态。
–SiteActive参数必须不存在。所有本地站点交付组都处于维护模式。Set-CvadAcSiteActiveStateOnPrem
- 将云站点设置为活动状态。
–SiteActive参数必须存在。没有云站点交付组处于维护模式。Set-CvadAcSiteActiveStateCloud –SiteActive
- 验证云站点处于活动状态,本地站点处于非活动状态。
将控制权重新移交给本地站点
要将控制权从云站点转移到本地站点:
- 在非工作时间,将云站点设置为非活动状态。所有云站点交付组都处于维护模式。
Set-CvadAcSiteActiveStateCloud
- 将本地站点设置为活动状态。没有本地站点交付组处于维护模式。
Set-CvadAcSiteActiveStateOnPrem -SiteActive
有关站点激活的更多信息
- 如果没有计算机进行电源管理,并且没有重新启动计划(这通常意味着也没有主机连接),则所有云交付组都可以作为活动组导入。导入后,将
-SiteActive添加到Merge-CvadAcToSite/Import-CvadAcToSite或运行Set-CvadAcSiteActiveStateCloud -SiteActive。 - 如果计算机进行电源管理或存在重新启动计划,则需要不同的过程。例如,在这种情况下从本地切换到云时,使用
Set-CvadAcSiteActiveStateOnPrem将本地站点设置为非活动状态。然后,使用Set-CvadAcSiteActiveStateCloud -SiteActive将云站点设置为活动状态。 -
Set-CvadAcSiteActiveStateCloud和Set-CvadAcSiteActiveStateOnPremcmdlet 也用于反向操作。例如,运行不带-SiteActive参数的Set-CvadAcSiteActiveStateCloud,然后运行带-SiteActive参数的Set-CvadAcSiteActiveStateOnPrem。
了解如何迁移机器创建服务预配的目录
注意:
此功能仅在 3.0 及更高版本中可用。通过在 Automated Configuration 中使用
Get-CvadAcStatus检查您的版本。
计算机创建服务 (MCS) 目录创建两种不同类型的目录:
- 当对计算机所做的更改丢失或恢复时(通常是发布应用程序的服务器操作系统)– 这是一种池化 VDI / 多会话用例
- 当对计算机所做的更改在重新启动后保留时(通常是具有专用用户的客户端操作系统)– 这是一种静态 VDI 用例
可以在 Citrix Studio 的目录节点中通过查看目录的“用户数据:”值来确认目录类型。
注意:
无法使用自动化配置从云中备份 MCS。
池化 VDI / 多会话目录
“用户数据: 丢弃”的目录是池化 VDI 目录,只能迁移主映像和配置。这些目录中的任何虚拟机都不会被迁移。这是因为虚拟机的生命周期由您从中导入的站点维护,这意味着每次计算机开机时,其状态都可能发生变化。这使得导入变得不可能,因为虚拟机的导入数据会很快不同步。
当您使用该工具迁移这些目录时,它会创建目录元数据并启动主映像创建,但不会导入任何计算机。
由于此过程根据主映像的大小可能需要一些时间来创建,因此工具中的导入命令仅启动 MCS 目录创建,而不等待其完成。导入完成后,请使用云部署中的 Studio 监视目录创建进度。
主映像创建完成后,即可开始预配虚拟机。请务必考虑容量方面的因素,因为您的本地部署会占用并消耗一部分容量。
使用该目录的所有其他对象(交付组、应用程序、策略等)都可以导入,并且无需等待主映像创建。目录创建完成后,可以将计算机添加到导入的目录中,然后用户可以启动其资源。
注意:
使用工具中可用的相同命令来迁移目录和所有其他对象。
静态 VDI 目录
注意:
由于此操作导入存储在数据库中的低级详细信息,因此必须从具有数据库访问权限的计算机运行此过程。
静态 VDI 目录迁移主映像、配置和所有虚拟机。与池化 VDI 用例不同,无需创建任何映像。
VDA 必须配置为指向连接器,以便它们能够向云进行注册。
请参阅激活站点部分,以激活云站点,从而使重新启动计划、电源管理和其他项目由云控制。
迁移完成后,如果您想从本地站点删除此目录,则必须选择保留 VM 和 AD 帐户。否则,它们将被删除,云站点将指向已删除的 VM。
迁移后更新 MCS 标签以检测孤立资源
将本地配置迁移到云站点,或将云配置迁移到另一个云站点后,对于持久性 VM,您必须更新 MCS 站点 ID 标签,以便正确检测孤立资源。为此,请使用 PowerShell 命令 Set-ProvResourceTags。目前,此功能适用于 Azure。
具体的详细步骤如下所示:
-
使用 PowerShell 命令
Set-ProvResourceTags从新的 Citrix 站点更新 MCS 站点 ID 标签。例如:Set-ProvResourceTags -ProvisioningSchemeUid xxxxx [-VMName <String>] [-VMBatchSize XX] [-ResourceType XX] <!--NeedCopy-->或者,
Set-ProvResourceTags -ProvisioningSchemeName xxxxx [-VMName <String>] [-VMBatchSize XX] [-ResourceType XX] <!--NeedCopy-->
参数详细信息如下所示:
-
ProvisioningSchemeUid或ProvisioningSchemeName是一个强制参数。 -
VMName是一个可选参数。如果未指定VMName,将更新此计算机目录中所有 VM 的标签。 -
VMBatchSize是一个可选参数,用于将所有 VM 分批。如果未指定VMBatchSize,将应用默认值 (10)。范围是 1 到 60。 -
ResourceType可以是以下项之一:-
MachineCatalog:用于更新计算机目录资源的标签。 -
VirtualMachine:用于更新与 VM 相关的资源的标签。 -
All:(默认 ResourceType):用于更新计算机目录和与 VM 相关的资源的标签。
-