设置高可用性多站点应用商店配置

重要:

在多服务器部署中,请一次仅使用一台服务器以更改服务器组的配置。确保 Citrix StoreFront 管理控制台未在部署中的任何其他服务器上运行。完成后,将配置更改传播到服务器组,以便更新部署中的其他服务器。

对于从多个部署(特别是地理位置分散的部署)聚合资源的应用商店,可以在部署之间配置负载平衡和故障转移、配置到部署的用户映射以及配置特定灾难恢复部署,以提供高可用资源。如果已为部署配置了单独的 Citrix Gateway 设备,则可以为用户定义用于访问每个部署的最佳设备。

配置用户映射和聚合

在 StoreFront 管理控制台中,可以执行以下操作:

  • 将用户映射到部署: 根据 Active Directory 组成员身份,可以限制能够访问特定部署的用户。
  • 聚合部署: 可以指定哪些部署包含您要聚合的资源。聚合部署中的匹配资源将作为一个高可用资源提供给用户。
  • 将区域与部署相关联: 在全局负载平衡配置中通过 Citrix Gateway 进行访问时,StoreFront 在启动资源时会优先启动匹配网关区域的区域中的部署。
  1. 确保为应用商店配置了要在配置中使用的所有 Citrix Virtual Apps and Desktops 部署的详细信息。有关在应用商店中添加部署的详细信息,请参阅管理通过应用商店提供的资源
  2. 在 Windows 开始屏幕或应用程序屏幕中,找到并单击 Citrix StoreFront 磁贴。
  3. 在 Citrix StoreFront 管理控制台的左侧窗格中选择应用商店节点,然后在操作窗格中单击管理 Delivery Controller
  4. 如果定义了两个或多个 Controller,请单击用户映射和多站点聚合配置 > 配置
  5. 单击将用户映射到 Controller,然后在屏幕上做出选择以指定哪些 Delivery Controller 对哪些用户可用。
  6. 单击聚合资源以聚合来自多个部署的资源。聚合 Delivery Controller 时,Delivery Controller 中显示名称相同的应用程序和桌面将在 Citrix Workspace 应用程序中以单个应用程序或桌面的形式显示。

    1. 要聚合 Delivery Controller,请选择多个 Controller 并单击聚合
    2. 选择聚合 Controller 设置选项:

      Controller 发布相同的资源 - 选中时,StoreFront 将枚举仅来自聚合组中的其中一个 Controller 的资源。如果未选中,StoreFront 将枚举聚合集中的所有 Controller 中的资源(以聚合用户的可用资源的完整集)。选择此选项能够在枚举资源时提高性能,但我们不建议选中,除非您确认所有聚合部署中的资源列表都相同。

      在 Controller 之间对资源进行负载平衡 - 选中时,将在可用 Controller 之间平均分发启动。如果未选中,启动将被定向到在用户映射对话框屏幕中指定的第一个 Controller,如果启动失败,则故障转移到后续 Controller。

  7. 在“用户映射和多站点聚合配置”对话框中,单击确定

  8. 在“管理 Delivery Controller”对话框中,单击确定

高级配置

可以使用 StoreFront 管理控制台配置许多常见的多站点和高可用性操作。还可以使用 PowerShell 或者通过编辑 StoreFront 配置文件来配置 StoreFront,后者提供了下列额外的功能:

  • 能够为聚合指定多个部署组。
    • 管理控制台仅允许一组部署,这足够适用于大多数情况。
    • 对于包含多个具有几组非连续资源的部署的应用商店,多个编组可能会提高性能。
  • 能够为聚合部署指定复杂的首选项顺序。管理控制台允许平衡聚合部署的负载或者将其用作单个故障转移列表。
  • 能够定义灾难恢复部署(仅在所有其他部署都不可用时才访问的部署)。

警告:

通过手动编辑配置文件配置高级多站点选项后,有些任务在 Citrix StoreFront 管理控制台中将不可用,以防止错误配置。

  1. 确保为应用商店配置了要在配置中使用的所有 Citrix Virtual Apps and Desktops 部署(包括灾难恢复部署)的详细信息。有关在应用商店中添加部署的详细信息,请参阅管理通过应用商店提供的资源

  2. 使用文本编辑器打开应用商店的 web.config 文件,该文件通常位于 C:\inetpub\wwwroot\Citrix\storename 目录中,其中 storename 为创建应用商店时为其指定的名称。

  3. 在此文件中查找以下部分。

    <resourcesWingConfigurations>
    <resourcesWingConfiguration name="Default" wingName="Default" />
    </resourcesWingConfigurations>
    
  4. 指定如下所示的配置。

    <resourcesWingConfigurations>
    <resourcesWingConfiguration name="Default" wingName="Default">
    <userFarmMappings>
    <clear />
    <userFarmMapping name="user_mapping">
    <groups>
    <group name="domain\usergroup" sid="securityidentifier" />
    <group ... />
    ...
    </groups>
    <equivalentFarmSets>
    <equivalentFarmSet name="setname" loadBalanceMode="{LoadBalanced | Failover}"
    aggregationGroup="aggregationgroupname">
    <primaryFarmRefs>
    <farm name="primaryfarmname" />
    <farm ... />
    ...
    </primaryFarmRefs>
    <backupFarmRefs>
    <farm name="backupfarmname" />
    <farm ... />
    ...
    </backupFarmRefs>
    </equivalentFarmSet>
    <equivalentFarmSet ... >
    ...
    </equivalentFarmSet>
    </equivalentFarmSets>
    </userFarmMapping>
    <userFarmMapping>
    ...
    </userFarmMapping>
    </userFarmMappings>
    </resourcesWingConfiguration>
    </resourcesWingConfigurations>
    

使用以下元素定义配置。

  • userFarmMapping - 指定部署组,并定义这些部署之间的负载平衡和故障转移行为。确定用于灾难恢复的部署。在 Microsoft Active Directory 用户组与指定的部署组之间建立映射,从而控制用户对资源的访问。

  • groups - 指定关联的映射要应用到的 Active Directory 用户组的名称和安全标识符 (SID)。必须使用域\用户组格式输入用户组名称。虽然列出了多个组,但映射仅应用于属于所有指定组的成员的用户。要允许所有 Active Directory 用户帐户进行访问,可将组名称和 SID 设置为 everyone

  • equivalentFarmSet - 指定一组可以提供要汇聚的资源的等效部署(用于实现负载平衡或故障转移),以及可选的灾难恢复部署关联组。

    loadBalanceMode 属性决定如何向部署分配用户。将 loadBalanceMode 属性的值设置为 LoadBalanced,可以将用户随机分配给等效部署集中的部署,从而在所有可用部署之间平均分配用户。如果 loadBalanceMode 属性的值设置为 Failover,用户将按照在配置中列出的顺序连接到第一个可用部署,从而将在任意给定时间所使用的部署数量降至最低。指定聚合组的名称,以标识可提供要聚合的资源的等效部署集。此时将聚合属于同一聚合组的等效部署集所提供的资源。要指定在某个特定等效部署集中定义的部署不应与其他部署汇聚,可将聚合组名称设置为空字符串 ”“

    identical 属性接受值 truefalse,并指定等效部署集中包含的所有部署是否提供完全相同的一组资源。如果部署相同,StoreFront 将仅枚举部署集中的一个主要部署中的用户资源。如果部署提供重叠但不同的资源,StoreFront 将枚举每个部署中的资源,以获取一组对用户可用的完整资源。无论部署是否相同,都会进行负载平衡(在启动时)。identical 属性的默认值为 false,即使在升级 StoreFront 以避免更改预先存在的升级后行为时设置为 true 也是如此。

  • primaryFarmRefs - 指定一组等效的 Citrix Virtual Apps and Desktops 站点,其中包含的部分或全部资源匹配。输入已添加到应用商店中的部署的名称。指定的部署名称必须与您将部署添加到应用商店中时所输入的名称完全一致。

  • optimalGatewayForFarms - 指定部署组并定义用户访问这些部署所提供的资源时所使用的最佳 Citrix Gateway 设备。用于部署的最佳设备所在的地理位置通常与该部署相同。只需要为用户访问 StoreFront 所用的设备不是最佳设备的部署定义最佳 Citrix Gateway 设备。

配置订阅同步

要配置对不同 StoreFront 部署中的应用商店中的用户应用程序订阅进行定期下拉同步,可以执行 Windows PowerShell 命令。

注意:

StoreFront 和 PowerShell 控制台不能同时打开。使用 PowerShell 控制台管理 StoreFront 配置之前,请始终关闭 StoreFront 管理控制台。同样,打开 StoreFront 控制台之前,请关闭 PowerShell 的所有实例。

创建订阅同步时请注意,已配置的 Delivery Controller 在已同步的应用商店之间必须具有相同的名称,并且 Delivery Controller 名称区分大小写。Delivery Controller 名称未完全重复可能会导致用户在已同步的应用商店中具有不同的订阅。

  1. 使用具有本地管理员权限的帐户启动 Windows PowerShell,然后在命令提示窗口中键入以下命令以导入 StoreFront 模块。

    Import-Module "installationlocation\Management\Cmdlets\UtilsModule.psm1"
    Import-Module "installationlocation\Management\Cmdlets\SubscriptionSyncModule.psm1"
    

    其中 installationlocation 是 StoreFront 的安装目录,通常为 C:\Program Files\Citrix\Receiver StoreFront。

  2. 要指定包含要同步的应用商店的远程 StoreFront 部署,请键入以下命令。

    Add-DSSubscriptionsRemoteSyncCluster -clusterName deploymentname -clusterAddress deploymentaddress
    

    其中 deploymentname 为有助于用户识别远程部署的名称,deploymentaddress 为远程部署的 StoreFront 服务器或负载平衡的服务器组的外部可访问地址。

  3. 要指定与用户的应用程序订阅同步的远程应用商店,请键入以下命令。

    Add-DSSubscriptionsRemoteSyncStore -clusterName deploymentname -storeName storename
    

    其中 deploymentname 为在上一步中为远程部署定义的名称,storename 为在创建本地应用商店和远程应用商店时为其指定的名称。要在应用商店之间同步应用程序订阅,两个应用商店在各自的 StoreFront 部署中所具有的名称必须相同。

  4. 要配置在每天的特定时间进行同步,请键入以下命令。

    Add-DSSubscriptionsSyncSchedule -scheduleName synchronizationname -startTime hh:mm
    

    其中 synchronizationname 为有助于用户识别要创建的计划的名称。使用 -startTime 设置可指定要在应用商店之间同步订阅的时间。可配置进一步的时间表来指定一天内其他的同步时间。

  5. 或者,要配置按特定时间间隔定期同步,请键入以下命令。

    Add-DSSubscriptionsSyncReoccuringSchedule -scheduleName synchronizationname -startTime hh:mm:ss -repeatMinutes interval
    

    其中 synchronizationname 为有助于用户识别要创建的计划的名称。使用 -startTime 设置可指定希望启动定期循环计划的时间。对于 interval,请指定每个同步之间的间隔时间(分钟)。

  6. 将远程部署中的每个 StoreFront 服务器的 Microsoft Active Directory 域计算机帐户添加到当前服务器上的本地 Windows 用户组 CitrixSubscriptionSyncUsers 中。

    这样,一旦您在远程部署上配置同步计划,远程部署中的服务器即可访问本地部署上的订阅应用商店服务。CitrixSubscriptionSyncUsers 组是您在步骤 1 中导入订阅同步模块时创建的。有关修改本地用户组的详细信息,请参阅 http://technet.microsoft.com/en-us/library/cc772524.aspx

  7. 如果您的本地 StoreFront 部署包含多个服务器,请使用 Citrix StoreFront 管理控制台将配置更改传播到组中的其他服务器。

    有关在多服务器 StoreFront 部署中传播更改的详细信息,请参阅配置服务器组

  8. 对远程 StoreFront 部署重复步骤 1 到 7,以配置从远程部署到本地部署的互补订阅同步计划。

    为 StoreFront 部署配置同步计划时,请确保计划不会导致出现各个部署尝试同时进行同步的情况。

  9. 要开始在应用商店之间同步用户的应用程序订阅,请同时在本地部署和远程部署中重新启动订阅应用商店服务。在每个部署中的主服务器上的 Windows PowerShell 命令提示窗口中,键入以下命令。

    Restart-DSSubscriptionsStoreSubscriptionService
    
  10. 要删除现有订阅同步计划,请键入以下命令,然后将配置更改传播到部署中的其他 StoreFront 服务器,并重新启动订阅应用商店服务。

    Remove-DSSubscriptionsSchedule -scheduleName synchronizationname
    

    其中 synchronizationname 为您在创建计划时为其指定的名称。

  11. 要列出当前为您的 StoreFront 部署配置的订阅同步计划,请键入以下命令。

    Get-DSSubscriptionsSyncScheduleSummary
    

为应用商店配置最佳 HDX 路由

为应用商店定义最佳网关映射时场与区域之间的区别

在 3.5 之前的 StoreFront 版本中,只能将最佳网关映射到一个或多个场。按照区域的概念,您可以根据 Citrix Virtual Apps and Desktops 控制器和已发布的资源所在的数据中心或地理位置将 Citrix Virtual Apps and Desktops 部署划分到几个区域中。Citrix Virtual Apps and Desktops Studio 中定义区域。StoreFront 与 Citrix Virtual Apps and Desktops 交互,并且在 StoreFront 中定义的所有区域都必须与在 Citrix Virtual Apps and Desktops 中定义的区域名称相匹配。

StoreFront 还允许您为所定义的区域中的所有 Delivery Controller 创建最佳网关映射。将区域映射到最佳网关与使用场创建映射基本相同,您可能已熟悉后者的操作。唯一的区别在于区域通常代表规模更大的、包含更多 Delivery Controller 的容器。不需要向最佳网关映射中添加每个 Delivery Controller。要将 Controller 放置到所需的区域中,只需使用与已在 Citrix Virtual Apps and Desktops 中定义的区域匹配的区域名称标记每个 Delivery Controller 即可。可以将一个最佳网关映射到多个区域,但您通常应使用一个区域。一个区域通常代表某个地理位置的一个数据中心。预期每个区域至少有一个最佳 Citrix Gateway,用于与该区域中的资源建立 HDX 连接。

有关区域的详细信息,请参阅区域

将 Delivery Controller 放置到区域中

在要放置到区域中的每个 Delivery Controller 上设置区域属性。

  1. 在 Windows 开始屏幕或“应用程序”屏幕中,找到并单击 Citrix StoreFront 磁贴。
  2. 在 Citrix StoreFront 管理控制台的左侧窗格中选择应用商店节点,然后在操作窗格中单击管理 Delivery Controller
  3. 选择一个 Controller,单击编辑,然后单击编辑 Delivery Controller 屏幕上的设置
  4. 区域行中,单击第二列。
  5. Delivery Controller 区域名称屏幕上单击添加,然后添加一个区域名称。

本地化后的图片

配置最佳 Citrix Gateway 路由,以优化从 HDX Engine 路由到使用 StoreFront 的已发布资源(例如,XenDesktop VDA 或 Citrix Virtual Apps and Desktops 发布的应用程序)的 ICA 连接处理。通常情况下,站点的最佳网关布置在相同的地理位置。

只需为用户访问 StoreFront 所用的设备不是最佳网关的部署定义最佳 Citrix Gateway 设备。如果启动应通过创建启动请求的网关定向回来,StoreFront 会自动执行此操作。

使用场的示例场景

1 x UK 网关 -> 1 x UK StoreFront

  • 英国本地的应用程序和桌面
  • 仅用于英国故障转移的位于美国的应用程序和桌面

1 x US 网关 -> 1 x US StoreFront

  • 美国本地的应用程序和桌面
  • 仅用于美国故障转移的位于英国的应用程序和桌面

位于英国的网关使用位于英国的 StoreFront 提供对在英国托管的资源(例如应用程序和桌面)的远程访问。

位于英国的 StoreFront 在其 Delivery Controller 列表中同时定义了位于英国和位于美国的 Citrix Gateway 以及位于英国和美国的 Controller。UK 用户通过其地理位置布置的网关、StoreFront 和场访问远程资源。如果其 UK 资源不可用,作为临时故障转移备用方法,他们可以连接到 US 资源。

在未启用最佳网关路由的情况下,所有 ICA 启动都将通过创建启动请求的位于英国的网关传递,而不考虑资源所在的地理区域。默认情况下,创建启动请求时,创建请求的网关由 StoreFront 动态识别。最佳网关路由会覆盖此设置,并强制通过与提供应用程序和桌面的 US 场距离最近的网关建立 US 连接。

注意:

对于每个 StoreFront 应用商店,只能为每个站点映射一个最佳网关。

使用区域的示例场景

1 x CAMZone -> 2 x UK StoreFront

  • 英国剑桥:应用程序和桌面
  • 美国东部劳德代尔堡:应用程序和桌面
  • 印度班加罗尔:应用程序和桌面

1 x FTLZone -> 2 x US StoreFront

  • 美国东部劳德代尔堡:应用程序和桌面
  • 英国剑桥:应用程序和桌面
  • 印度班加罗尔:应用程序和桌面

1 x BGLZone -> 2 x IN StoreFront

  • 印度班加罗尔:应用程序和桌面
  • 英国剑桥:应用程序和桌面
  • 美国东部劳德代尔堡:应用程序和桌面

图 1. 非最佳网关路由

非最佳网关路由

图 2. 最佳网关路由

最佳网关路由

使用 Citrix StoreFront 管理控制台

为部署配置了单独的 Citrix Gateway 设备后,可以为用户定义用于访问每个部署的最佳设备。

  1. 在 Windows 开始屏幕或应用程序屏幕中,找到并单击 Citrix StoreFront 磁贴。
  2. 在 Citrix StoreFront 管理控制台的左侧窗格中选择应用商店节点,然后在结果窗格中选择一个应用商店。在操作窗格中,单击配置应用商店设置
  3. 设置 > 最佳 HDX 路由页面上,选择一个网关。
  4. 如果选中了仅限外部复选框,则相当于设置了 -enabledOnDirectAccess = false,并且“直接 HDX 连接”与对场或区域使用 Set-DSFarmsWithNullOptimalGateway 等效。

本地化后的图片

添加新网关

之前的过程中的其中一个选项为添加网关。选择添加网关后,将显示“添加 Citrix Gateway”屏幕。

  1. 常规设置屏幕上,填写“显示名称”、“Citrix Gateway URL”和“使用情况”或“角色”设置,为从公用网络连接的用户配置通过 Citrix Gateway 对应用商店的访问。无法对未经身份验证的应用商店应用通过 Citrix Gateway 进行远程访问。
  2. Secure Ticket Authority (STA) 屏幕上,填写显示的选项。STA 托管在 Citrix Virtual Apps and Desktops 服务器上,并发出会话票据以响应连接请求。这些会话票据构成了对访问 Citrix Virtual Apps and Desktops 资源进行身份验证和授权的基础。
  3. 身份验证设置屏幕中,输入用于指定远程用户如何提供身份验证凭据的设置。

使用 PowerShell 为应用商店配置最佳 Citrix Gateway 路由

PowerShell API 参数

-SiteId (Int) - IIS 中的站点 ID。对于默认安装 StoreFront 的 IIS 中的站点,通常为 1。

-ResourcesVirtualPath (String) - 要进行配置以具有场到最佳网关映射的应用商店的路径。

示例:”/Citrix/Store”

-GatewayName (String) - 为识别 StoreFront 中的 Citrix Gateway 提供的名称。

示例 1:ExternalGateway

示例 2:InternalGateway

-Hostnames (String Array) - 指定最佳 Citrix Gateway 设备的完全限定的域名 (FQDN) 和端口。

标准虚拟服务器端口 443 的示例 1:gateway.example.com

非标准虚拟服务器端口 500 的示例 2:gateway.example.com:500

-Farms (String Array) - 指定一组(通常位于同一个位置)共享通用最佳 Citrix Gateway 设备的 Citrix Virtual Apps and Desktops 部署。一个场可以包含一个或多个提供已发布资源的 Delivery Controller。

可以在 StoreFront 中的 Delivery Controller 下配置一个 Citrix Virtual Desktops 站点“XenDesktop”。它表示为一个场。这样可以在其故障转移列表中包含多个 Delivery Controller。

示例:”XenDesktop”

XenDesktop-A.example.com

XenDesktop-B.example.com

XenDesktop-C.example.com

-Zones (String Array) - 指定一个或多个包含多个 Delivery Controller 的数据中心。这要求您标记包含要将 Delivery Controller 对象分配到的相应区域的 StoreFront 中的对象。

-staUrls (String Array) - 指定运行 Secure Ticket Authority (STA) 的 Citrix Virtual Apps and Desktops 服务器的 URL。如果使用多个场,则使用逗号分隔的列表列出每个场上的 STA 服务器:

示例:http://xenapp-a.example.com/scripts/ctxsta.dll,http://xendesktop-a.example.com/scripts/ctxsta.dll

-StasUseLoadBalancing (Boolean) - 设置为 true: 从所有 STA 随机获取会话票据,在所有 STA 之间平均分发请求。设置为 false: 用户将按照在配置中列出的顺序连接到第一个可用 STA,从而将在任意给定时间所使用的 STA 数量降至最低。

-StasBypassDuration — 设置在请求失败后将 STA 视为不可用的时间期限,单位为小时、分钟和秒。

示例:02:00:00

-EnableSessionReliability (Boolean) - 设置为 true: 在 Receiver 自动尝试重新连接时,保持断开连接的会话处于打开状态。如果配置了多个 STA 并希望确保会话始终具有可靠性,可将 useTwoTickets 属性的值设置为 true,以便能够从两个不同的 STA 获取会话票据,以防其中一个 STA 在会话期间不可用。

-UseTwoTickets (Boolean) - 设置为 true: 从两个不同的 STA 获取会话票据,以防其中一个 STA 在会话期间不可用。设置为 false: 仅使用一个 STA 服务器。

-EnabledOnDirectAccess (Boolean) - 设置为 true: 确保当内部网络上的本地用户直接登录 StoreFront 时,仍通过为场定义的最佳设备路由与其资源的连接。设置为 false: 不通过场的最佳设备路由与资源的连接,除非用户通过 Citrix Gateway 访问 StoreFront。

PowerShell 脚本跨多个行时(如下所示),每个行都必须以续行符(`) 结尾。

提示:

Citrix 建议您将所有代码示例都复制到 Windows PowerShell 集成脚本环境 (ISE),以便在运行前使用格式检查器验证 Powershell 代码。

为场配置最佳网关

注意:

通过旧 PowerShell cmdlet Set-DSOptimalGatewayForFarms 配置最佳 HDX 路由不起作用。

要解决此问题,请执行以下操作:

  1. 请使用 Add-DSGlobalV10Gateway 命令为全局网关配置希望用于最佳 HDX 路由的设置,并为身份验证设置提供默认值。
  2. 使用 Add-DSStoreOptimalGateway 命令可添加最佳网关配置。

示例:

Add-DSGlobalV10Gateway -Id 2eba0524-af40-421e-9c5f-a1ccca80715f -Name LondonGateway -Address "http://example" -Logon Domain -SecureTicketAuthorityUrls @("http://staurl1", "http://staurl2")

Add-DSStoreOptimalGateway -SiteId 1 -VirtualPath /Citrix/Store1 -GatewayId 2eba0524-af40-421e-9c5f-a1ccca80715f -Farms @("Controller") -EnabledOnDirectAccess $true

示例

为应用商店 Internal 创建或覆盖“场的最佳网关”映射。

& "$Env:PROGRAMFILES\Citrix\Receiver StoreFront\Scripts\ImportModules.ps1"

Set-DSOptimalGatewayForFarms -SiteId 1 `

-ResourcesVirtualPath /Citrix/Internal `
-GatewayName "gateway1" `
-Hostnames "gateway1.example.com:500" `
-Farms "XenApp","XenDesktop" `
-StaUrls "https://xenapp.example.com/scripts/ctxsta.dll","https://xendesktop.example.com/scripts/ctxsta.dll" `
-StasUseLoadBalancing:$false `
-StasBypassDuration 02:00:00 `
-EnableSessionReliability:$false `
-UseTwoTickets:$false `
-EnabledOnDirectAccess:$true

为区域配置最佳网关

示例

为应用商店 CAMZone 创建或覆盖“场的最佳网关”映射。

**& "$Env:PROGRAMFILES\Citrix\Receiver StoreFront\Scripts\ImportModules.ps1" **

\*\*Set-DSOptimalGatewayForFarms -SiteId 1 `\*\*

**-ResourcesVirtualPath /Citrix/Internal `
-GatewayName "gateway1" `
-Hostnames "gateway1.example.com:500" `
-Zones "CAMZone" `
-StaUrls "https://xenapp.example.com/scripts/ctxsta.dll","https://xendesktop.example.com/scripts/ctxsta.dll" `
-StasUseLoadBalancing:$false `
-StasBypassDuration 02:00:00 `
-EnableSessionReliability:$false `
-UseTwoTickets:$false `
-EnabledOnDirectAccess:$true   **

示例

此脚本将返回应用商店 Internal 的所有“场的最佳网关”映射。

Get-DSOptimalGatewayForFarms -SiteId 1 –ResourcesVirtualPath "/Citrix/Internal"

示例

删除应用商店 Internal 的场映射的所有最佳网关。

Remove-DSOptimalGatewayForFarms -SiteId 1 -ResourcesVirtualPath "/Citrix/Internal" Configure direct HDX connections for farms

示例

此脚本阻止所有 ICA 启动通过应用商店 Internal 的指定场列表的网关传递。

Set-DSFarmsWithNullOptimalGateway -SiteId 1 -ResourcesVirtualPath /Citrix/Store -Farms "Farm1","Farm2"

示例

此脚本返回为阻止 ICA 启动通过应用商店 Internal 的网关进行传递而配置的所有场。

Get-DSFarmsWithNullOptimalGateway -SiteId 1 -ResourcesVirtualPath "/Citrix/Internal"

确定 StoreFront 是否正在使用适用于场的最佳网关映射

  1. 通过运行以下命令,使用 PowerShell 在所有服务器组节点上启用 StoreFront 跟踪:

    & "$Env:PROGRAMFILES\Citrix\Receiver StoreFront\Scripts\ImportModules.ps1"`
    
    #Traces output is to c:\Program Files\Citrix\Receiver Storefront\admin\trace\
    Set-DSTraceLevel -All -TraceLevel Verbose
    
  2. 在 StoreFront 服务器的桌面上打开 Debug View 工具。如果正在使用 StoreFront 服务器组,可能必须在所有节点上执行此操作,以确保从接收启动请求的节点获取跟踪。

  3. 启用 Capture Global Win32 事件。

    启用 Capture Global Win32 事件

  4. 将跟踪输出另存为 .log 文件,然后使用记事本打开此文件。搜索以下示例场景中显示的日志条目。

  5. 之后请关闭跟踪,因为跟踪会占用 StoreFront 服务器上的大量磁盘空间。

    Set-DSTraceLevel -All -TraceLevel Off

经过测试的最佳网关场景

- 外部客户端登录 **Gateway1**。启动通过场 **Farm2** 的指定最佳网关 **Gateway2** 定向。

`Set-DSOptimalGatewayForFarms -onDirectAccess=false`

将 Farm2 配置为使用最佳网关 Gateway2。

在禁用直接访问时,Farm2 具有最佳网关。

最佳网关 Gateway2 将用于启动。

- 内部客户端使用 StoreFront 登录。启动通过场 Farm1 的指定最佳网关 Gateway1 定向。

`Set-DSOptimalGatewayForFarms -onDirectAccess=true`

无需动态识别网关。直接连接 StoreFront。

将 Farm1 配置为使用最佳网关 Gateway1。

启用直接访问时,Farm1 具有最佳网关。

最佳网关 Gateway1 将用于启动。

- 内部客户端使用 Gateway1 登录。Farm1 上的资源启动不可以通过任何网关传递,直接连接 StoreFront。

`Set-DSFarmsWithNullOptimalGateway`

需要动态识别网关:Gateway1

将 Farm1 配置为不使用网关。所有网关都不用于启动。