Citrix DaaS

将多个站点合并到一个站点中

面向自动配置的多站点支持提供了一种将多个本地站点合并到单个云站点的方法。

多站点支持在每个本地站点的基础上为组件名称添加唯一的前缀和后缀,从而确保在多个本地站点合并到单个云站点后名称的唯一性。

可以在每个本地站点的基础上为以下每个组件分配前缀和后缀。

  • AdminScope
  • AdminRole
  • ApplicationAdmin
  • ApplicationFolder
  • ApplicationGroup
  • ApplicationUser
  • DeliveryGroup
  • GroupPolicy
  • HostConnection
  • MachineCatalog
  • StoreFront
  • Tag

应用程序文件夹支持前缀、后缀和重新生根。重新生根将额外的顶层文件夹添加到应用程序的现有文件夹结构中。

前缀和后缀规则

  1. 前缀和后缀不能包含以下任何特殊字符:\ , / ; : # . * ? = < > | ( ) " ' { } [ ]
  2. 前缀和后缀可以包含尾随空格,但不能包含前导空格。
  3. 前缀和后缀必须用双引号引起才能包含尾随空格。
  4. 在导入、合并和添加时,会应用前缀和后缀。源 .yml 文件永远不会被修改。
  5. 如果适用,前缀和后缀过程会自动为相关组件名称添加前缀或后缀。例如,如果计算机目录名称以“East”作为前缀,则引用这些名称的交付组也会以“East”作为前缀。
  6. 如果组件名称以前缀或后缀开头,则不会添加前缀或后缀。组件名称不能包含两个相同的前缀或后缀。
  7. 前缀和后缀可以单独使用,也可以组合使用。
  8. 在组件上使用前缀或后缀是可选的。

注意:

Studio 按字母顺序显示组件。

按站点分组

使用前缀可以直观地对单个站点中的组件进行分组。每个站点都在自己的组中列出,前缀按字母顺序控制不同站点组的顺序。

按名称分组

使用后缀可以直观地对来自多个站点的类似命名组件进行分组。来自不同站点的类似命名组件看上去会交替使用。

SitePrefixes.yml 文件

站点前缀从包含一个或多个本地站点的站点前缀和后缀映射的 SiteMerging.yml 文件开始。可以手动管理 SiteMerging.yml 文件,也可以使用合并多个本地站点 cmdlet 部分中列出的可用 cmdlet 来管理 SiteMerging.yml 文件。

导出、导入、合并和添加

合并在导出本地站点之后才能开始进行。要导出本地站点,请参阅从本地迁移到云

中央导出目标文件夹

本部分中介绍的方法可将多个站点导出放置到一个中央文件共享位置。SiteMerging.yml 文件、CustomerInfo.yml 文件和所有导出文件都位于该文件共享位置,允许您从独立于本地站点的一个位置进行导入。

云访问操作永远不会引用本地站点或 Active Directory,因此允许您从任何位置执行云访问操作。

直接文件共享

导出、导入、合并和新建/添加操作提供了一个参数,用于定位或获取默认文件夹 %HOMEPATH%\Documents\Citrix\AutoConfig 以外的文件夹。以下示例使用 \\share.central.net 下管理员已有权访问的中央文件共享,并根据需要提供了凭据。

要将导出定位到特定于站点的文件夹,请使用 –TargetFolder 参数:

来自 East DDC:

mkdir \\share.central.net\AutoConfig\SiteEast

Export-CvadAcToFile –TargetFolder \\share.central.net\AutoConfig\SiteEast

来自 West DDC:

mkdir \\share.central.net\AutoConfig\SiteWest

Export-CvadAcToFile –TargetFolder \\share.central.net\AutoConfig\SiteWest

导出完成后,创建 CustomerInfo.yml 和 SiteMerging.yml 文件并将其放置在 \\share.central.net\AutoConfig 中。

注意:

使用此直接文件共享引用方法时,创建 SitePrefixes.yml 时请勿使用 SiteRootFolder 参数。

要从直接文件共享导入、合并或添加,您必须决定要从哪台计算机执行云访问操作。选项包括:

  • 已安装该工具的其中一个本地 DDC。
  • 托管文件共享的计算机。
  • 另一台计算机。

自动配置必须安装在访问云的计算机上。本地 PowerShell SDK、DDC 和 Active Directory 均未使用,因此云访问执行要求比导出要求简单。

要将 East DDC 合并到云,请执行以下操作:

Merge-CvadAcToSite –SiteName East –SourceFolder \\share.central.net\AutoConfig\SiteEast -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml

要将 West DDC 合并到云,请执行以下操作:

Merge-CvadAcToSite –SiteName West –SourceFolder \\share.central.net\AutoConfig\SiteWest -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml

下面是上一个示例中使用的 SitePrefixes.yml 文件示例。

    East:
      SiteRootFolder: "" # Important: leave this empty
      AdminScopePrefix: "East_"
      AdminRolePrefix: "East_"
      ApplicationAdminPrefix: "East_"
      ApplicationFolderPrefix: "" # Note that a new parent root folder is used instead
      ApplicationFolderRoot: "East"
      ApplicationGroupPrefix: "East_"
      ApplicationUserPrefix: "East_"
      DeliveryGroupPrefix: "East_"
      GroupPolicyPrefix: "East_"
      HostConnectionPrefix: "East_"
      MachineCatalogPrefix: "East_"
      StoreFrontPrefix: "East_"
      TagPrefix: "East_"
      AdminScopeSuffix: "_east"
      AdminRoleSuffix: "_east"
      ApplicationAdminSuffix: "_east"
      ApplicationFolderSuffix: "_east"
      ApplicationGroupSuffix: "_east"
      ApplicationUserSuffix: "_east"
      DeliveryGroupSuffix: "_east"
      GroupPolicySuffix: "_east"
      HostConnectionSuffix: "_east"
      MachineCatalogSuffix: "_east"
      StoreFrontSuffix: "_east"
      TagSuffix: "_east"
    West:
      SiteRootFolder: "" # Important: leave this empty
      AdminScopePrefix: "Western "
      AdminRolePrefix: "Western "
      ApplicationAdminPrefix: "Western "
      ApplicationFolderPrefix: "" # Note that a new parent root folder is used instead
      ApplicationFolderRoot: "Western"
      ApplicationGroupPrefix: "Western "
      ApplicationUserPrefix: "Western "
      DeliveryGroupPrefix: "Western "
      GroupPolicyPrefix: "Western "
      HostConnectionPrefix: "Western "
      MachineCatalogPrefix: "Western "
      StoreFrontPrefix: "Western "
      TagPrefix: "Western "
      AdminScopeSuffix: ""
      AdminRoleSuffix: ""
      ApplicationAdminSuffix: ""
      ApplicationFolderSuffix: ""
      ApplicationGroupSuffix: ""
      ApplicationUserSuffix: ""
      DeliveryGroupSuffix: ""
      GroupPolicySuffix: ""
      HostConnectionSuffix: ""
      MachineCatalogSuffix: ""
      StoreFrontSuffix: ""
      TagSuffix: ""

使用 SiteMerging.yml 的文件共享参考

此方法使用站点的前缀集的 SiteRootFolder 成员。虽然这种方法比直接文件共享方法参与度更高,但它可以降低导出、导入、合并或添加时以错误文件夹为目标的可能性。

首先,为 SiteMerging.yml 文件中的每个站点设置 SiteRootFolder。必须在共享位置执行此操作。

New-CvadAcSiteMergingInfo –SiteName East –SiteRootFolder \\share.central.net\AutoConfig\SiteEast -SitePrefixesFolder \\share.central.net\AutoConfig

New-CvadAcSiteMergingInfo –SiteName West –SiteRootFolder SiteWest -SitePrefixesFolder \\share.central.net\AutoConfig

在此示例中,East 为完全限定的文件夹规范,West 为相对文件夹规范。

要使用 SiteMerging.yml 文件将导出定位到特定于站点的文件夹,请执行以下操作:

来自 East DDC:

mkdir \\share.central.net\AutoConfig\SiteEast

Export-CvadAcToFile -SiteName East -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml

来自 West DDC:

mkdir \\share.central.net\AutoConfig\SiteWest

Export-CvadAcToFile -SiteName West -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml

导出 cmdlet 使用 CustomerInfo.yml 文件夹位置来查找 SiteMerging.yml 文件。就 East 而言,SiteRootFolder 是完限定的规范。它按原样使用。就 West 而言,SiteRootFolder 不是完全限定的规范。它与 CustomerInfo.yml 文件夹位置相结合,以检索 West 的完全限定文件夹位置。

要将 East DDC 合并到云,请执行以下操作:

Merge-CvadAcToSite –SiteName East -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml

要将 West DDC 合并到云,请执行以下操作:

Merge-CvadAcToSite –SiteName West -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml

下面是上一个示例中使用的 SitePrefixes.yml 文件示例。

      East:
      SiteRootFolder: "\\\\share.central.net\\AutoConfig\\SiteEast"
      AdminScopePrefix: "East_"
      AdminRolePrefix: "East_"
      ApplicationAdminPrefix: "East_"
      ApplicationFolderPrefix: "" # Note that a new parent root folder is used instead
      ApplicationFolderRoot: "East"
      ApplicationGroupPrefix: "East_"
      ApplicationUserPrefix: "East_"
      DeliveryGroupPrefix: "East_"
      GroupPolicyPrefix: "East_"
      HostConnectionPrefix: "East_"
      MachineCatalogPrefix: "East_"
      StoreFrontPrefix: "East_"
      TagPrefix: "East_"
      AdminScopeSuffix: "_east"
      AdminRoleSuffix: "_east"
      ApplicationAdminSuffix: "_east"
      ApplicationFolderSuffix: "_east"
      ApplicationGroupSuffix: "_east"
      ApplicationUserSuffix: "_east"
      DeliveryGroupSuffix: "_east"
      GroupPolicySuffix: "_east"
      HostConnectionSuffix: "_east"
      MachineCatalogSuffix: "_east"
      StoreFrontSuffix: "_east"
      TagSuffix: "_east"
    West:
      SiteRootFolder: "\\\\share.central.net\\AutoConfig\\SiteWest"
      AdminScopePrefix: "Western "
      AdminRolePrefix: "Western "
      ApplicationAdminPrefix: "Western "
      ApplicationFolderPrefix: "" # Note that a new parent root folder is used instead
      ApplicationFolderRoot: "Western"
      ApplicationGroupPrefix: "Western "
      ApplicationUserPrefix: "Western "
      DeliveryGroupPrefix: "Western "
      GroupPolicyPrefix: "Western "
      HostConnectionPrefix: "Western "
      MachineCatalogPrefix: "Western "
      StoreFrontPrefix: "Western "
      TagPrefix: "Western "
      AdminScopeSuffix: ""
      AdminRoleSuffix: ""
      ApplicationAdminSuffix: ""
      ApplicationFolderSuffix: ""
      ApplicationGroupSuffix: ""
      ApplicationUserSuffix: ""
      DeliveryGroupSuffix: ""
      GroupPolicySuffix: ""
      HostConnectionSuffix: ""
      MachineCatalogSuffix: ""
      StoreFrontSuffix: ""
      TagSuffix: ""

如果未使用中央文件共享方法,而导入、合并或添加是从单个 DDC 完成的,则在每个要迁移到云的 DDC 上创建和复制 SiteMerging.yml 文件。默认位置为 %HOMEPATH%\Documents\Citrix\AutoConfig。必须指定 –SiteName 参数才能选择正确的站点前缀。

合并站点

Citrix 建议分步执行云操作,并在执行下一个云操作之前对每个结果进行全面审查。例如,如果将三个站点合并到单个云站点:

  1. 使用适当的 SiteName 值将初始站点合并到云。
  2. 在 Studio 中查看结果。
  3. 如果结果不正确,请确定问题及其原因,更正,然后重新运行合并。如有必要,请删除云组件,然后使用 Remove-CvadAcFromSite 为选定的组件和成员从头开始执行操作。如果结果正确,则请继续。
  4. 如果初始合并正确,则将第二个站点合并到单个云站点。
  5. 重复步骤 2 和 3。
  6. 如果第二次合并正确,则将第三个站点合并到单个云站点。
  7. 重复步骤 2 和 3。
  8. 从用户的角度查看资源并验证视图是否处于所需状态。

使用站点前缀删除组件

可以通过使用 Remove-CvadAcFromSite cmdlet 的 –IncludeByName 参数上的前缀有选择地删除单个站点组件。在以下示例中,West DDC 交付组不正确。要仅删除 West 站点的交付组,请执行以下操作:

Remove-CvadAcFromSite –DeliveryGroups –IncludeByName “Western *”

要删除所有 West 组件,请按顺序运行以下 cmdlet。

Remove-CvadAcFromSite –GroupPolicies –IncludeByName “Western *”

Remove-CvadAcFromSite –Applications –IncludeByName “Western *”

Remove-CvadAcFromSite – ApplicationGroups –IncludeByName “Western *”

Remove-CvadAcFromSite –DeliveryGroups –IncludeByName “Western *”

Remove-CvadAcFromSite –MachineCatalogs –IncludeByName “Western *”

Remove-CvadAcFromSite –HostConnections –IncludeByName “Western *”

Remove-CvadAcFromSite –Tags –IncludeByName “Western *”

要删除 East 组件的组策略,请使用后缀:

Remove-CvadAcFromSite –GroupPolicies –IncludeByName “*_east”

将多个站点合并到一个站点中