Workspace ONE Access 支持 Citrix 多站点聚合和关键字筛选功能,这两项功能可帮助管理员管理虚拟应用程序和桌面。要在 Workspace ONE Access 中配置这两项功能,您必须先完成其他必备任务,然后再在 Workspace ONE Access 控制台中设置 Citrix 虚拟应用程序集合。

Citrix 多站点聚合功能可聚合多个站点中的应用程序和桌面资源并进行去重,以便最终用户看不到重复的应用程序和桌面。如果在 StoreFront 中配置了多站点聚合,则在完成要求的必备任务后,您可以在 Workspace ONE Access 中为虚拟应用程序集合选择相应的启用多站点聚合设置。

Citrix 关键字筛选功能允许管理员通过使用关键字来控制资源显示和启动。如果在 StoreFront 中配置了关键字筛选,则在完成要求的必备任务后,您可以在 Workspace ONE Access 中为虚拟应用程序集合选择相应的关键字筛选设置。

重要说明: 只有 Workspace ONE Access Connector 22.09 及更高版本才支持 Citrix 多站点聚合和关键字筛选。

多站点聚合和关键字筛选的必备条件

对于多站点聚合和关键字筛选,运行虚拟应用程序服务的 Workspace ONE Access Connector 服务器必须与 StoreFront 服务器建立远程 PowerShell 连接。某些 Citrix 环境会限制可在 StoreFront 服务器上远程执行的 PowerShell 命令。对于这些环境,您可以创建一个 PowerShell 会话配置文件,以便仅允许运行虚拟应用程序服务的用户创建远程会话,并且仅允许运行与多站点聚合和关键字筛选相关的 StoreFront 命令。

完成适用于您的方案的必备任务。必须先完成必备任务,然后才能创建虚拟应用程序集合。

如果您的 Citrix 环境对可在 StoreFront 上远程执行的 PowerShell 命令没有任何限制,请完成以下必备任务:

  • 安装 Workspace ONE Access Connector 22.09 或更高版本。
  • Workspace ONE Access Connector 安装程序的“Citrix 配置”页面上,取消选中启用 Citrix StoreFront 受限 PowerShell 会话选项。

如果您的 Citrix 环境对可在 StoreFront 上远程执行的 PowerShell 命令具有一些限制,请完成以下必备任务:

  • 安装 Workspace ONE Access Connector 22.09 或更高版本。
  • 在 StoreFront 服务器中,为受限 PowerShell 会话创建会话配置文件。请参阅为受限远程 PowerShell 会话设置会话配置文件
  • 编辑该文件并添加多站点聚合和关键字筛选所需的命令。请参阅向会话配置文件添加命令
  • Workspace ONE Access Connector 安装程序中的“Citrix 配置”页面上,选中启用 Citrix StoreFront 受限 PowerShell 会话选项,然后输入您创建的会话配置文件的名称。请参阅在 Workspace ONE Access Connector 安装程序中选择受限 PowerShell 会话选项
  • (可选) 如果您不希望虚拟应用程序服务加载关键字筛选所需的 StoreFront 模块,请在 Workspace ONE Access Connector 安装程序的“Citrix 配置”页面上选择禁止 Citrix 自动加载 StoreFront 模块选项。选择此选项后,虚拟应用程序服务便不会加载这些模块,并且所需命令将通过受限 PowerShell 会话配置设置来执行。

为受限远程 PowerShell 会话设置会话配置文件

如果您的 Citrix 环境对可在 StoreFront 上远程执行的 PowerShell 命令具有一些限制,请创建一个会话配置文件,以便为虚拟应用程序服务设置受限 PowerShell 会话。该配置仅允许运行虚拟应用程序服务的用户创建远程会话,并且仅允许运行与多站点聚合和关键字筛选相关的 StoreFront 命令。

  1. 登录 StoreFront 服务器。
  2. 以可运行虚拟应用程序服务的域用户身份打开 PowerShell 窗口。
    重要说明: 确保您使用的域用户帐户与用于运行虚拟应用程序服务的帐户相同。该域用户还必须是能够加载 Citrix PSSnapin 的 Citrix 服务器只读管理员。
  3. 运行以下命令:
    1. New-PSSessionConfigurationFile -VisibleCmdlets Get-STFStoreService,Get-STFStoreFarm,Get-STFUserFarmMapping,Get-STFEquivalentFarmset,'Write-Host' -LanguageMode RestrictedLanguage -SessionType RestrictedRemoteServer -Path .\filename.pssc

      filename 替换为配置文件的名称,例如 WorkspaceONE。该名称只能使用字母数字字符。

    2. Register-PSSessionConfiguration -Path filename.pssc -Name configurationName

      configurationName 替换为配置的名称,例如 WorkspaceONE。使用为 filename 指定的相同名称,但不要包含扩展名。该名称只能使用字母数字字符。

    3. Set-PSSessionConfiguration -Name configurationName -ShowSecurityDescriptorUI
    4. 在显示的“权限”对话框中,选择将允许创建 PowerShell 会话的域用户,然后选中允许列中的执行 (调用) 复选框以授予用户执行权限。
      重要说明: 确保您选择的域用户帐户与用于运行虚拟应用程序服务的帐户相同。该域用户还必须是能够加载 Citrix PSSnapin 的 Citrix 服务器只读管理员。

      例如:

      在“权限”对话框中,选择了名为“管理员”的用户,并且在“权限”部分,选中了“允许”列中的“执行 (调用)”。

    系统将在 C:\Windows\System32\WindowsPowerShell\v1.0\SessionConfig 目录中创建会话配置文件。

向会话配置文件添加命令

编辑您创建的会话配置文件,以添加多站点聚合和关键字筛选所需的命令。

  1. 在 StoreFront 服务器中,转到以下目录:

    C:\Windows\System32\WindowsPowerShell\v1.0\SessionConfig

  2. 打开 filename.pssc 文件进行编辑。
  3. 将以下命令附加到 VisibleCmdlets 列表:

    'Get-ItemProperty', 'Select-Object', 'Format-List'

  4. 将以下命令附加到此文件的末尾:
    AliasDefinitions = @{ Name = 'Select' ; Value = 'Microsoft.PowerShell.Utility\Select-Object'}
     
    FunctionDefinitions =@{
     'Name' = 'Get-DSResourceFilterKeyword'
     'Options' = 'ReadOnly'
     'ScriptBlock' = {
                       param(
                         [Parameter(Mandatory=$true)]
                         [long]$SiteId,
                         [Parameter(Mandatory=$true)]
                         [string]$VirtualPath
                       )
                       $path = "C:\inetpub\wwwroot\$VirtualPath\web.config"
                       $xpath = "/configuration/citrix.deliveryservices/wing/resources/settingsGroup/enumeration/filterByKeywords"
                       $xml = Select-Xml -path $path -xpath $xpath
                       $includeKeywords = $null
                       if ( $xml.Node.include ) {
                         GetKeywords -KeywordsString $xml.Node.include
                       }
                       $excludeKeywords = $null
                       if ( $xml.Node.exclude ) {
                         $excludeKeywords = GetKeywords -KeywordsString $xml.Node.exclude
                       }
                       $returnObject = new-object PSObject
                       $returnObject | Add-Member -MemberType NoteProperty -Name "Include" -Value $includeKeywords -PassThru `
                                     | Add-Member -MemberType NoteProperty -Name "Exclude" -Value $excludeKeywords
                       return $returnObject
                     };
     },@{
     'Name' = 'GetKeywords'
     'Options' = 'ReadOnly'
     'ScriptBlock' = {
                       param(
                         [Parameter(Mandatory=$true)]
                         [string]$KeywordsString
                       )
                       $set = @()
                       $res = $KeywordsString -split ";"
                       foreach ($kw in $res)
                       {
                         $kw = if ($kw) {$kw.trim()} else {$null}
                         if ($kw)
                         {
                           $set += $kw
                         }
                       }
                       return $set
                     }
     },@{
     'Name' = 'Get-STFStoreFarm'
      'Options' = 'ReadOnly'
      'ScriptBlock' = {
                        $Global:FormatEnumerationLimit = -1
                        Citrix.StoreFront.Stores\Get-STFStoreFarm @Args
                      }
    },@{
    'Name' = 'Get-STFEquivalentFarmset'
      'Options' = 'ReadOnly'
      'ScriptBlock' = {
                        $Global:FormatEnumerationLimit = -1
                        Citrix.StoreFront.Stores.MultiSite\Get-STFEquivalentFarmset @Args
                      }
      }
     
    }
  5. 运行以下命令以重新启动 Windows 服务:

    Get-Service -Name WinRM | Restart-Service

在 Workspace ONE Access Connector 安装程序中选择受限 PowerShell 会话选项

设置会话配置文件后,在 Workspace ONE Access Connector 安装程序中选择受限 PowerShell 会话选项,并指定会话配置文件名称。

  1. 运行 Workspace ONE Access Connector 安装程序。
  2. 在“Citrix 配置”页面上,选择启用 Citrix StoreFront 受限 PowerShell 会话选项。
  3. 输入您创建的会话配置文件的名称。

    输入的文件名应不包含扩展名,也不包含名称中的额外字符。例如,如果文件系统中的名称为 WorkspaceONEsjk1p2.pssc,请输入 WorkspaceONE

启用多站点聚合和关键字筛选

完成必备任务后,您可以为 Citrix 集成创建虚拟应用程序集合,并启用多站点聚合和关键字筛选功能。

  • 要启用多站点聚合,请在 Citrix 虚拟应用程序集合中选择启用多站点聚合选项。
    “启用多站点聚合”选项位于向导的“添加服务器场”部分中。
  • 要启用关键字筛选,请在 Citrix 虚拟应用程序集合中选择关键字筛选选项。
    “关键字筛选”选项位于向导的“配置”页面中。

有关创建虚拟应用程序集合的更多信息,请参阅在 Workspace ONE Access 中配置 Citrix 服务器场