Session Recording

安装、升级和卸载

注意:

要通过负载平衡配置服务器高可用性,请参阅在现有部署中配置负载平衡在 Azure 中部署 Session Recording 以及平衡其负载

本文包括以下几部分内容:

安装核对表

可以使用以下文件安装 Session Recording 组件:

  • Broker_PowerShellSnapIn_x64.msi

  • SessionRecordingAdministrationx64.msi

  • SessionRecordingAgentx64.msi

  • SessionRecordingPlayer.msi

  • SessionRecordingWebPlayer.msi

开始安装之前,请完成以下列表中的步骤:

步骤
  开始安装之前,请安装必备项。请参阅系统要求使用 Citrix 脚本安装 Windows 角色和功能必备项
  选择要安装每个 Session Recording 组件的计算机。确保每台计算机都满足要安装的组件对硬件和软件的要求。
  使用您的 Citrix 帐户凭据访问 Citrix Virtual Apps and Desktops 下载页面并下载产品文件。解压文件。
  要使用 TLS 协议在 Session Recording 组件之间进行通信,请在您的环境中安装正确的证书。
  为 Session Recording 组件安装任何所需的修补程序。可以从 Citrix 支持页面下载修补程序。
  配置 Director 以创建并激活 Session Recording 策略。有关详细信息,请参阅配置 Director 以使用 Session Recording Server

注意:

  • 我们建议您根据录制策略将已发布的应用程序划分到独立的交付组中。如果已发布的应用程序位于相同的交付组中,则这些应用程序的会话共享可能会与活动策略发生冲突。Session Recording 将活动策略与用户打开的第一个已发布应用程序相匹配。自版本 7.18 起,可以使用动态会话录制功能在会话期间随时启动或停止正在录制的会话。有关详细信息,请参阅动态会话录制
  • 如果您计划使用 Machine Creation Services (MCS) 或 Citrix Provisioning,请准备一个唯一的 QMId。未能遵守会导致录制数据丢失。
  • SQL Server 要求您启用 TCP/IP、运行 SQL Server Browser 服务并使用 Windows 身份验证。
  • 要使用 HTTPS,请为 TLS/HTTPS 配置服务器证书。
  • 确保 Local Users and Groups > Groups > Users 下的用户对 C:\windows\Temp 文件夹具有写入权限。

使用 Citrix 脚本安装 Windows 角色和功能必备项

要使 Session Recording 正常运行,请在 安装 Session Recording
之前使用以下 Citrix 脚本安装必要的 Windows 角色和功能必备条件:

  • InstallPrereqsforSessionRecordingAdministration.ps1

     <#
     .Synopsis
         Installs Prereqs for Session Recording Administration
     .Description
         Supports Windows Server 2022, Windows Server 2019 and Windows Server 2016.
         Install below windows feature on this machine:
         -Application Development
         -Security - Windows Authentication
         -Management Tools - IIS 6 Management Compatibility
             IIS 6 Metabase Compatibility
             IIS 6 WMI Compatibility
             IIS 6 Scripting Tools
             IIS 6 Management Console
         -Microsoft Message Queuing (MSMQ), with Active Directory integration disabled, and MSMQ HTTP support enabled.
     #>
     function AddFeatures($featurename)
     {
         try
         {
             $feature=Get-WindowsFeature | ? {$\_.DisplayName -eq $featurename -or $\_.Name -eq $featurename}
             Add-WindowsFeature $feature
         }
         catch
         {
             Write-Host "Addition of Windows feature $featurename failed"
             Exit 1
         }
         Write-Host "Addition of Windows feature $featurename succeeded"
     }
    
     $system= gwmi win32_operatingSystem | select name
    
     if (-not (($system -Like '\*Microsoft Windows Server 2022\*') -or ($system -Like '\*Microsoft Windows Server 2019\*') -or ($system -Like '\*Microsoft Windows Server 2016\*')))
     {
         Write-Host("This is not a supported server platform. Installation aborted.")
         Exit
     }
    
     # Start to install Windows feature
     Import-Module ServerManager
    
     AddFeatures('Web-Asp-Net45') #ASP.NET 4.5
     AddFeatures('Web-Mgmt-Console') #IIS Management Console
     AddFeatures('Web-Windows-Auth') # Windows Authentication
     AddFeatures('Web-Metabase') #IIS 6 Metabase Compatibility
     AddFeatures('Web-WMI') #IIS 6 WMI Compatibility
     AddFeatures('Web-Lgcy-Scripting')#IIS 6 Scripting Tools
     AddFeatures('Web-Lgcy-Mgmt-Console') #IIS 6 Management Console
     AddFeatures('MSMQ-HTTP-Support') #MSMQ HTTP Support
     AddFeatures('web-websockets') #IIS Web Sockets
     AddFeatures('NET-WCF-HTTP-Activation45') #http activate
     <!--NeedCopy-->
    
  • InstallPrereqsforSessionRecordingAgent.ps1

     <#
     .Synopsis
         Installs Prereqs for Session Recording Agent
     .Description
         Supports  Windows Server 2022, Windows Server 2019, Windows Server 2016, windows 11, and Windows 10.
         Install below windows feature on this machine:
         -Microsoft Message Queuing (MSMQ), with Active Directory integration disabled, and MSMQ HTTP support enabled.
     #>
     function AddFeatures($featurename)
     {
         try
         {
             $feature=Get-WindowsFeature | ? {$\_.DisplayName -eq $featurename -or $\_.Name -eq $featurename}
             Add-WindowsFeature $feature
         }
         catch
         {
             Write-Host "Addition of Windows feature $featurename failed"
             Exit 1
         }
         Write-Host "Addition of Windows feature $featurename succeeded"
     }
    
     # Start to install Windows feature
     $system= gwmi win32_operatingSystem | select name
    
     if (-not (($system -Like '\*Microsoft Windows Server 2022\*') -or ($system -Like '\*Microsoft Windows Server 2019\*') -or ($system -Like '\*Microsoft Windows Server 2016\*') -or ($system -Like '\*Microsoft Windows 11\*') -or ($system -Like '\*Microsoft Windows 10\*')))
     {
         Write-Host("This is not a supported platform. Installation aborted.")
         Exit
     }
    
     if ($system -Like '\*Microsoft Windows Server\*')
     {
         Import-Module ServerManager
         AddFeatures('MSMQ') #Message Queuing
         AddFeatures('MSMQ-HTTP-Support')#MSMQ HTTP Support
     }
     else
     {
         try
         {
             dism /online /enable-feature /featurename:MSMQ-HTTP /all
         }
         catch
         {
             Write-Host "Addition of Windows feature MSMQ HTTP Support failed"
             Exit 1
         }
         write-Host "Addition of Windows feature MSMQ HTTP Support succeeded"
     }
     <!--NeedCopy-->
    

要安装 Windows 角色和功能必备项,请完成以下步骤:

  1. 在计划安装 Session Recording Administration 组件的计算机上:

    1. 确保在 PowerShell 中,将执行策略设置为 RemoteSigned不限制

      Set-ExecutionPolicy RemoteSigned
      <!--NeedCopy-->
      
    2. 以管理员身份启动命令提示符,然后运行 powershell.exe -file InstallPrereqsforSessionRecordingAdministration.ps1 命令。

      此脚本将显示已成功添加的功能,然后会停止。

    3. 脚本运行后,请务必按照贵公司的政策将执行策略设置为正确的值。

  2. 在计划安装 Session Recording Agent 组件的计算机上:

    1. 确保在 PowerShell 中,将执行策略设置为 RemoteSigned不限制

      Set-ExecutionPolicy RemoteSigned
      <!--NeedCopy-->
      
    2. 以管理员身份启动命令提示符,然后运行 powershell.exe -file InstallPrereqsforSessionRecordingAgent.ps1 命令。

      此脚本将显示已成功添加的功能,然后会停止。

    3. 脚本运行后,请务必按照公司政策将执行策略设置为正确的值。

安装 Session Recording Administration 组件

注意:

自 2110 起,在禁用了 TLS 1.0 的 Windows Server 2016 上 Session Recording Administration 组件之前,请完成以下步骤:

  1. 安装适用于 SQL Server 的 Microsoft OLE DB Driver。
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 注册表项下,添加 SchUseStrongCrypto DWORD(32 位)值并将值数据设置为 1。

  3. 重新启动。

我们建议您在单独的服务器上安装 Session Recording Administration、Session Recording Agent 和 Session Recording Player 组件。

Session Recording Administration 组件包括 Session Recording 数据库、Session Recording Server 和 Session Recording 策略控制台。可以选择要在服务器上安装的组件。

注意:

自 2110 起,在禁用了 TLS 1.0 的 Windows Server 2016 上安装 Session Recording Administration 组件之前,请完成以下步骤:

  1. 安装适用于 SQL Server 的 Microsoft OLE DB Driver。
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 注册表项下,添加 SchUseStrongCrypto DWORD(32 位)值并将值数据设置为 1。

  3. 重新启动 Windows Server 2016。
  1. 安装 Broker_PowerShellSnapIn_x64.msi

    重要:

    要使用 Session Recording 策略控制台,请手动安装 Broker PowerShell 管理单元 (Broker_PowerShellSnapIn_x64.msi)。请在 Citrix Virtual Apps and Desktops ISO (\layout\image-full\x64\Citrix Desktop Delivery Controller) 中找到该管理单元,然后按照说明进行安装。否则,会导致出现错误。

  2. 以管理员身份启动 Windows 命令提示符,然后运行 msiexec /i SessionRecordingAdministrationx64.msi 命令或双击 .msi 文件。

  3. 在安装用户界面上,单击下一步并接受许可协议。

  4. Session Recording 管理安装程序屏幕上,选择要安装的 Session Recording Administration 组件。

    Session Recording Administration 安装程序屏幕

    注意:

    在一台服务器上安装所有 Session Recording Administration 组件适用于概念验证。但是,对于大型生产环境,我们建议您将 Session Recording 策略控制台安装在一台单独的服务器上,将 Session Recording Server 、Session Recording 管理员日志记录和 Session Recording 数据库安装在另一台单独的服务器上。Session Recording 管理员日志记录是 Session Recording Server 的可选子功能。先选择 Session Recording Server ,然后才能选择 Session Recording 管理员日志记录。

安装 Session Recording 数据库

注意:

Session Recording 数据库和 Microsoft SQL Server 的部署通常有以下三种类型:

  • 部署 1:在同一台计算机上安装 Session Recording Server 和 Session Recording 数据库,在远程计算机上安装 Microsoft SQL Server。(推荐
  • 部署 2:在同一台计算机上安装 Session Recording Server 、Session Recording 数据库和 Microsoft SQL Server。
  • 部署 3:在一台计算机上安装 Session Recording Server ,在另一台计算机上安装 Session Recording 数据库和 Microsoft SQL Server。(不推荐
  1. 数据库和服务器配置页面上,指定 Session Recording 数据库的实例名称和数据库名称以及 Session Recording Server 的计算机帐户。单击下一步

    • 实例名称:如果数据库实例不是命名实例,则只能使用 SQL Server 的计算机名称。如果您已为此实例命名,请使用 computer-name\instance-name 作为数据库实例名称。要确定您正在使用的服务器实例名称,请在 SQL Server 上运行 select @@servername。返回值为准确的数据库实例名称。如果您的 SQL Server 侦听自定义端口(而非默认端口 1433),请通过向该实例名称附加一个逗号来设置自定义侦听器端口。例如,在实例名称文本框中键入 DXSBC-SRD 1,2433,其中逗号后面的 2433 表示自定义侦听器端口。

    • 数据库名称: 在数据库名称文本框中键入自定义数据库名称,或者使用文本框中已有的默认数据库名称。单击测试连接测试与 SQL Server 实例的连接以及数据库名称的有效性。

      重要:

      自定义数据库名称必须仅包含 A-Z、a-z、0-9 和下划线,并且不能超过 123 个字符。

      • 您必须对数据库具有 securityadmindbcreator 服务器角色权限。如果没有这些权限,您可以:
        • 要求数据库管理员分配安装权限。安装完成后,就不再需要 securityadmindbcreator 服务器角色权限了,可以安全删除。
        • 或者,在 msi 安装期间,会显示一个对话框,提示提供具有 securityadmindbcreator 服务器角色权限的数据库管理员的凭据。请键入正确的凭据,然后单击确定以继续安装。

        安装将创建 Session Recording 数据库,并添加 Session Recording Server 的计算机帐户 db_owner

    • Session Recording Server 计算机帐户

      • 部署 1 和 2: 在 Session Recording Server 计算机帐户文本框中键入 localhost

      • 部署 3:使用“域\计算机名称”格式键入托管 Session Recording Server 的计算机的名称。Session Recording Server 计算机帐户即为用于访问 Session Recording 数据库的用户帐户。

      注意:

      Session Recording Server 计算机帐户文本框中设置了域名时,尝试安装 Session Recording Administration 组件会失败并显示错误代码 1603。解决方法:在 Session Recording Server 计算机帐户文本框中键入 localhost 或 NetBIOS 域名\计算机名称。要获取 NetBIOS 域名,请在安装了 Session Recording Server 的计算机上,在 PowerShell 中运行 $env:userdomain 或在命令提示窗口中运行 echo %UserDomain%

  2. 按照说明完成安装。

安装 Session Recording Server

  1. 选择 Session Recording ServerSession Recording 管理员日志记录

    注意:

    • Session Recording 管理员日志记录是 Session Recording Server 的可选子功能。先选择 Session Recording Server ,然后才能选择 Session Recording 管理员日志记录。
    • 我们建议您同时一起安装 Session Recording 管理员日志记录和 Session Recording Server 。如果您不希望启用管理员日志记录功能,可以在后面的页面上禁用该功能。
  2. 数据库和服务器配置页面上,指定设置。

    • 实例名称: 在实例名称文本框中键入 SQL Server 的名称。如果要使用命名实例,请键入 computer-name\instance-name;否则,请只能键入 computer-name。如果您的 SQL Server 侦听自定义端口(而非默认端口 1433),请通过向该实例名称附加一个逗号来设置自定义侦听器端口。例如,在实例名称文本框中键入 DXSBC-SRD 1,2433,其中逗号后面的 2433 表示自定义侦听器端口。
    • 数据库名称: 在数据库名称文本框中键入自定义数据库名称,或者使用文本框中已有的默认数据库名称 CitrixSessionRecording。 您必须对数据库具有 securityadmindbcreator 服务器角色权限。如果没有这些权限,您可以:
      • 要求数据库管理员分配安装权限。安装完成后,就不再需要 securityadmindbcreator 服务器角色权限了,可以安全删除。
      • 或者,在 msi 安装期间,会显示一个对话框,提示提供具有 securityadmindbcreator 服务器角色权限的数据库管理员的凭据。请键入正确的凭据,然后单击确定以继续安装。
    • 键入正确的实例名称和数据库名称后,单击测试连接测试与 Session Recording 数据库的连接。

    • 键入 Session Recording Server 计算机帐户,然后单击下一步
  3. 管理日志记录配置页面上,指定管理日志记录功能的配置。

    • 日志记录数据库安装在 SQL Server 实例上:此文本框不可编辑。管理日志记录数据库的 SQL Server 实例名称是自动从您在数据库和服务器配置页面上键入的实例名称中抓取的。
    • 日志记录数据库名称: 请在此文本框中键入管理员日志记录数据库的自定义数据库名称,或者使用文本框中已有的默认数据库名称 CitrixSessionRecordingLogging

      注意:

      管理员日志记录数据库名称必须与在上一页数据库和服务器配置上的数据库名称文本框中设置的 Session Recording 数据库名称不同。

    • 使用默认数据库名称:选择此选项将使用默认日志记录数据库名称。
    • 启用日志记录服务:默认情况下,管理日志记录功能处于启用状态。可以通过取消选中相应复选框禁用该功能。
    • 启用强制阻止: 默认情况下启用强制阻止。如果日志记录失败,则可能会阻止正常功能。可以通过取消选中相应复选框禁用强制阻止。
  4. 单击下一步并完成安装。

注意

:Session Recording Server 默认安装使用 HTTPS/TLS 来确保通信安全。如果在 Session Recording Server 的默认 Internet Information Services (IIS) 站点中没有配置 TLS,则使用 HTTP。为此,请在 IIS 管理控制台中取消选择 SSL。导航到 Session Recording Broker 站点,打开 SSL 设置,然后取消选中 Require SSL(需要 SSL)复选框。

安装 Session Recording Agent

在要录制会话的 VDA 或 VDI 计算机上安装 Session Recording Agent。

  1. Session Recording Agent 配置页面上:如果提前安装了 Session Recording Server ,请键入安装了 Session Recording Server 的计算机的计算机名称。键入连接到 Session Recording Server 的协议和端口信息。如果尚未安装 Session Recording,以后可以在 Session Recording Agent 属性中更改此类信息。
  2. 按照说明完成安装。

注意:

如果 Machine Creation Services (MCS) 或 Citrix Provisioning Services (PVS) 创建的多个 VDA 安装了 Microsoft 消息队列 (MSMQ),则在某些情况下,这些 VDA 可能具有相同的 QMId。这种情况可能会导致出现各种问题,例如:

  • 即使接受了录制协议,也可能无法录制会话。
  • Session Recording Server 可能收不到会话注销信号,因此,会话可能始终处于活动状态。

解决方法:为每个 VDA 创建唯一的 QMId,并且因部署方法而异。

对于在静态桌面模式下使用 PVS 7.7 或更高版本以及 MCS 7.9 或更高版本创建的单会话操作系统 VDA,无需执行任何额外的操作。

如果通过 MCS 或 PVS 创建的多会话操作系统 VDA 或单会话操作系统 VDA 配置为在用户注销时放弃所有更改,请使用 GenRandomQMID.ps1 脚本在系统启动时更改 QMId。请更改电源管理策略,以确保在用户登录之前正在运行足够的 VDA。

要使用 GenRandomQMID.ps1 脚本,请执行以下操作:

1. 确保在 PowerShell 中,将执行策略设置为 RemoteSigned不限制

Set-ExecutionPolicy RemoteSigned

2. 创建一项计划任务并在系统启动时设置一个触发器,然后在 PVS 或 MCS 主映像计算机上通过 SYSTEM 帐户运行。

3. 将该命令添加为启动任务。

powershell .exe -file C:\\GenRandomQMID.ps1

GenRandomQMID.ps1 脚本的摘要如下:

  1. 从注册表中删除当前 QMId
  2. SysPrep = 1 添加到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
  3. 停止相关访问,包括 CitrixSmAudAgent 和 MSMQ。
  4. 要生成随机 QMId,请启动之前已停止的服务。

示例 GENRANDOMQMID.PS1:

# Remove old QMId from registry and set SysPrep flag for MSMQ

Remove-Itemproperty -Path >HKLM:Software\Microsoft\MSMQ\Parameters\MachineCache -Name QMId -Force

Set-ItemProperty -Path HKLM:Software\Microsoft\MSMQ\Parameters -Name >"SysPrep" -Type DWord -Value 1

# Get dependent services

$depServices = Get-Service -name MSMQ -dependentservices | Select -Property Name

# Restart MSMQ to get a new QMId

Restart-Service -force MSMQ

# Start dependent services

if ($depServices -ne $null) {

    foreach ($depService in $depServices) {

        $startMode = Get-WmiObject win32_service -filter "NAME = '$($depService.Name)'" | Select -Property StartMode

        if ($startMode.StartMode -eq "Auto") {

            Start-Service $depService.Name
        }
}

}
<!--NeedCopy-->

安装 Session Recording Player 和 Web 播放器

在 Session Recording Server 或域中的工作站上安装 Session Recording Player。请仅在 Session Recording Server 上安装 Web 播放器。

双击 SessionRecordingPlayer.msiSessionRecordingWebPlayer.msi 并按照说明完成安装。

自动安装

Session Recording 支持带选项的无提示安装。编写使用无提示安装的脚本并运行相关命令。

Session Recording Administration 组件的自动安装

使用单个命令安装一组完整的 Session Recording Administration 组件

例如,以下任一命令可安装一组完整的 Session Recording Administration 组件,并创建一个日志文件,用于捕获安装信息。

msiexec /i "c:\SessionRecordingAdministrationx64.msi" ADDLOCAL="SsRecServer,PolicyConsole,SsRecLogging,StorageDatabase" DATABASEINSTANCE="WNBIO-SRD-1" DATABASENAME="CitrixSessionRecording" LOGGINGDATABASENAME="CitrixSessionRecordingLogging" DATABASEUSER="localhost" /q /l*vx "yourinstallationlog"
<!--NeedCopy-->
msiexec /i "SessionRecordingAdministrationx64.msi" ADDLOCAL="SsRecServer,PolicyConsole,SsRecLogging,StorageDatabase" DATABASEINSTANCE="CloudSQL" DATABASENAME="CitrixSessionRecording" LOGGINGDATABASENAME="CitrixSessionRecordingLogging" AZURESQLSERVICESUPPORT="1" AZUREUSERNAME="CloudSQLAdminName" AZUREPASSWORD="CloudSQLAdminPassword" /q /l*vx "c:\WithLogging.log"
<!--NeedCopy-->

注意:

SessionRecordingAdministrationx64.msi 文件位于 Citrix Virtual Apps and Desktops ISO 上的 \layout\image-full\x64\Session Recording 下。

其中:

  • ADDLOCAL 提供供您选择的功能。您可以选择多个选项。SsRecServer 为 Session Recording Server。PolicyConsole 为 Session Recording 策略控制台。SsRecLogging 为管理员日志记录功能。StorageDatabase 为 Session Recording 数据库。Session Recording 管理员日志记录是 Session Recording Server 的可选子功能。先选择 Session Recording Server ,然后才能选择 Session Recording 管理员日志记录。
  • DATABASEINSTANCE 为 Session Recording 数据库的实例名称。例如,如果您使用的是 Azure SQL 托管实例,则为 .\SQLEXPRESS,computer-name\SQLEXPRESS,computer-nametcp:srt-sql-support.public.ca7b16b60789.database.windows.net,3342
  • DATABASENAME 为 Session Recording 数据库的数据库名称。
  • LOGGINGDATABASENAME 为管理员日志记录数据库的名称。
  • AZURESQLSERVICESUPPORT 确定是否支持云 SQL。要使用云 SQL,请将其设置为 1
  • DATABASEUSER 为 Session Recording Server 的计算机帐户。
  • AZUREUSERNAME 是云 SQL 管理员名称。
  • AZUREPASSWORD 为云 SQL 管理员密码。
  • /q 指定无提示模式。
  • /l*v 指定详细模式日志记录。
  • yourinstallationlog 为安装日志文件的位置。

创建用于部署 Session Recording Server 的主映像

您可能已从现有部署中安装了 Session Recording 数据库和管理日志记录数据库。对于此类情况,您现在可以在使用 SessionRecordingAdministrationx64.msi 安装 Session Recording Administration 组件时放弃执行数据库检查。可以创建主映像,以便在许多其他计算机上轻松部署 Session Recording Server 。使用主映像在目标计算机上部署服务器后,在每台计算机上运行一个命令以连接到现有 Session Recording 数据库和管理日志记录数据库。此主映像支持简化了部署,最大限度地减少了人为错误的潜在影响。它仅适用于全新安装,包括以下步骤:

  1. 启动命令提示符并运行类似于以下命令的命令:

    msiexec /i "SessionRecordingAdministrationx64.msi" ADDLOCAL="SsRecServer,PolicyConsole,SsRecLogging,StorageDatabase" DATABASEINSTANCE="sqlnotexists" DATABASENAME="CitrixSessionRecording2" LOGGINGDATABASENAME="CitrixSessionRecordingLogging2" DATABASEUSER="localhost" /q /l*vx "c:\WithLogging.log" IGNOREDBCHECK="True"
    <!--NeedCopy-->
    

    此命令将安装 Session Recording Administration 组件,而无需配置和测试与 Session Recording 数据库和管理日志记录数据库的连接。

    IGNOREDBCHECK 参数设置为 True,并对 DATABASEINSTANCEDATABASENAMELOGGINGDATABASENAME 使用随机值。

  2. 在执行操作的计算机上创建主映像。

  3. 将主映像部署到其他计算机以部署 Session Recording Server 。

  4. 在每台计算机上,运行类似于以下命令的命令:

    .\SsRecUtils.exe -modifydbconnectionpara DATABASEINSTANCE DATABASENAME LOGGINGDATABASENAME
    
    iisreset /noforce
    <!--NeedCopy-->
    

    这些命令将之前安装的 Session Recording Server 连接到现有的 Session Recording 数据库和管理日志记录数据库。

    SsRecUtils.exe 文件存储在 \Citrix\SessionRecording\Server\bin\ 中。根据需要设置 DATABASEINSTANCEDATABASENAMELOGGINGDATABASENAME 参数。

卸载 Session Recording Administration 组件时保留数据库

如果 KEEPDB 设置为 True,则在卸载 Session Recording Administration 组件时,以下命令将保留 Session Recording 数据库和管理日志记录数据库:

msiexec /x "SessionRecordingAdministrationx64.msi" KEEPDB="True"
<!--NeedCopy-->

Session Recording Player 和 Web 播放器的自动安装

例如,以下命令分别安装 Session Recording Player 和 Web 播放器。

msiexec /i "c:\SessionRecordingPlayer.msi" /q /l*\vx "yourinstallationlog"
<!--NeedCopy-->
msiexec /i "c:\SessionRecordingWebPlayer.msi" /q /l*vx "yourinstallationlog"
<!--NeedCopy-->

注意:

SessionRecordingPlayer.msi 文件位于 Citrix Virtual Apps and Desktops ISO 上的 \layout\image-full\x86\Session Recording 下。

SessionRecordingWebPlayer.msi 文件位于 Citrix Virtual Apps and Desktops ISO 上的 \layout\image-full\x64\Session Recording 下。

其中:

  • /q 指定无提示模式。
  • /l*v 指定详细模式日志记录。
  • yourinstallationlog 为安装日志文件的位置。

Session Recording Agent 的自动安装

例如,以下命令安装 Session Recording Agent 并创建一个日志文件,用于捕获安装信息。

msiexec /i SessionRecordingAgentx64.msi /q /l*vx yourinstallationlog SESSIONRECORDINGSERVERNAME=yourservername
SESSIONRECORDINGBROKERPROTOCOL=yourbrokerprotocol SESSIONRECORDINGBROKERPORT=yourbrokerport
<!--NeedCopy-->

注意:

SessionRecordingAgentx64.msi 文件位于 Citrix Virtual Apps and Desktops ISO 上的 \layout\image-full\x64\Session Recording 下。

其中:

  • yourservername 是指 NetBIOS 名称或托管 Session Recording Server 的计算机的 FQDN。如未指定,则此值默认为 localhost
  • yourbrokerprotocol 为 Session Recording Agent 与 Session Recording Broker 进行通信时使用的 HTTP 或 HTTPS。如果未指定,则此值默认为 HTTPS。
  • yourbrokerport 为 Session Recording Agent 用于与 Session Recording Broker 通信的端口号。如未指定,则此值默认为零,从而指示 Session Recording Agent 使用所选协议的默认端口号:对于 HTTP 使用 80,对于 HTTPS 使用 443。
  • /q 指定无提示模式。
  • /l*v 指定详细模式日志记录。
  • yourinstallationlog 为安装日志文件的位置。

升级 Session Recording

您可以将某些部署升级到更高版本,而无需事先设置新计算机或站点。可以从 Session Recording 7.15 LTSR 的最新 CU 以及任何更高版本升级到 Session Recording 的最新版本。

注意:

将 Session Recording Administration 从 7.6 升级到 7.13 或更高版本时,如果选择修改以添加管理员日志记录服务,SQL Server 实例名称将不显示在管理员日志记录配置页面上。单击下一步时将显示以下错误消息:数据库连接测试失败。请输入正确的数据库实例名称。解决方法:将 localhost 用户的读取权限添加到以下 SmartAuditor 服务器注册表文件夹:HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server

不能从技术预览版进行升级。

要求、准备和限制

  • 使用 Session Recording 安装程序的图形界面或命令行升级 Session Recording 组件。
  • 在执行任何升级活动之前,请备份 SQL Server 实例中名为 CitrixSessionRecording 的数据库。这样,如果在该数据库升级之后发现任何问题,可以进行还原。
  • 您不仅要具有域用户的身份,还必须是要升级 Session Recording 组件的计算机上的本地管理员。
  • 如果 Session Recording Server 和 Session Recording 数据库未安装在同一台服务器上,您必须具有升级 Session Recording 数据库的数据库角色权限。否则,您可以:
    • 要求数据库管理员分配用于升级的 securityadmindbcreator 服务器角色权限。升级完成后,就不再需要 securityadmindbcreator 服务器角色权限了,可以安全删除。
    • 或者,使用 SessionRecordingAdministrationx64.msi 文件进行升级。在 msi 升级期间,会显示一个对话框,提示提供具有 securityadmindbcreator 服务器角色权限的数据库管理员的凭据。请键入正确的凭据,然后单击确定以继续升级。
  • Session Recording Agent 7.6.0 及更高版本与最新版本的 Session Recording Server 兼容。但是,某些新增功能和缺陷修复可能不起作用。
  • 在 Session Recording Server 升级过程中启动的任何会话都不会被录制。
  • 执行全新安装或升级后,默认情况下将启用 Session Recording Agent 属性中的图形调整选项,以与桌面组合重定向模式保持兼容。可以在执行全新安装或升级后手动禁用此选项。
  • 从此功能不可用的早期版本升级 Session Recording 之后,不会安装管理员日志记录功能。要添加此功能,请在升级之后修改安装。
  • 如果升级过程开始时存在实时录制会话,能够完成录制的可能性非常小。
  • 请查看以下升级顺序,以便您能够制定规划并避免可能出现的中断。

升级顺序

  1. 如果 Session Recording 数据库和 Session Recording Server 安装在不同的服务器上,请在 Session Recording Server 上手动停止 Session Recording Storage Manager 服务。然后优先升级 Session Recording 数据库。
  2. 请通过 Internet Information Services (IIS) Manager 确保 Session Recording Broker 正在运行。升级 Session Recording Server 。如果 Session Recording 数据库和 Session Recording Server 安装在同一服务器上,则 Session Recording 数据库也会同时升级。
  3. Session Recording Server 升级完成后,Session Recording 服务会自动恢复联机。
  4. (在主映像上)升级 Session Recording Agent。
  5. 同时升级 Session Recording 策略控制台和 Session Recording Server ,或者先升级 Session Recording Server ,再升级 Session Recording 策略控制台。
  6. 升级 Session Recording Player。

在云 SQL 数据库服务上部署 Session Recording 数据库

本部分内容介绍如何在 Azure SQL 托管实例、Azure VM 上的 SQL Server 以及 AWS RDS 上部署 Session Recording 数据库。

在 Azure SQL 托管实例或 AWS RDS 上部署 Session Recording 数据库

提示:

还可以运行类似于以下命令的单个命令,以在 Azure SQL 托管实例或 AWS RDS 上部署 Session Recording 数据库。有关详细信息,请参阅本文前面的自动安装部分。

msiexec /i "SessionRecordingAdministrationx64.msi" ADDLOCAL="SsRecServer,PolicyConsole,SsRecLogging,StorageDatabase" DATABASEINSTANCE="CloudSQL" DATABASENAME="CitrixSessionRecording" LOGGINGDATABASENAME="CitrixSessionRecordingLogging" AZURESQLSERVICESUPPORT="1" AZUREUSERNAME="CloudSQLAdminName" AZUREPASSWORD="CloudSQLAdminPassword" /q /l*vx "c:\WithLogging.log"
<!--NeedCopy-->
  1. 创建 Azure SQL 托管实例或通过 Amazon RDS 控制台创建 SQL Server 实例。

  2. (仅限 Azure SQL)记录出现在属性面板中的 Server 字符串。这些字符串是 Session Recording 数据库的实例名称。有关示例,请参阅下面的屏幕截图。

    示例服务器字符串

  3. (仅适用于 AWS RDS)记录 Endpoint(端点)和 Port(端口)信息。我们将其用作数据库的实例名称,格式为 <端点, 端口>

    AWS RDS 实例组成

  4. 运行 SessionRecordingAdministrationx64.msi 以安装 Session Recording 数据库。

    选中 Enable cloud SQL(启用云 SQL)复选框并填写云 SQL 管理员名称和密码。进行其他必需的配置。

    填写云 SQL 管理员凭据

    注意:

    如果更改云 SQL 管理员密码,则必须在 Session Recording Server 属性中更新密码。打开 Session Recording Server 属性时,将显示错误消息。单击 OK(确定)以继续,选择 Cloud DB(云数据库)选项卡,然后键入新的云 SQL 管理员密码。重新启动 Citrix Session Recording Analytics 服务、Citrix Session Recording Storage Manager 服务和 IIS 服务。

    不支持 Azure AD 身份验证。

    更新云 SQL 管理员密码

将本地数据库迁移到云 SQL 托管实例

  1. 根据 https://docs.microsoft.com/en-us/data-migration/https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.html 迁移本地数据库。

  2. 要使 Session Recording 在迁移后正常运行,请在 Session Recording Server 上运行 SsRecUtils.exe

    C:\Program Files\Citrix\SessionRecording\Server\bin\SsRecUtils.exe -modifyazuredbconnectionpara {Database Instance} {Session Recording Database Name} {Session Recording Logging Database Name} {AzureAdminName}{AzureAdminPassword} iisreset /noforce

  3. 在 Session Recording Server 上,重新启动 Citrix Session Recording Analytics 服务、Citrix Session Recording Storage Manager 服务和 IIS 服务。

将生产数据库从 Azure SQL 托管实例迁移到本地数据库

  1. 根据 https://docs.microsoft.com/en-us/data-migration/ 迁移数据库。

  2. 要使 Session Recording 在迁移后正常运行,请在 Session Recording Server 上运行 SsRecUtils.exe

    C:\Program Files\Citrix\SessionRecording\Server\bin\SsRecUtils.exe -modifydbconnectionpara {Database Instance} {Session Recording Database Name} {Session Recording Logging Database Name} iisreset /noforce

  3. 在 Session Recording Server 上,重新启动 Citrix Session Recording Analytics 服务、Citrix Session Recording Storage Manager 服务和 IIS 服务。

在 Azure VM 上的 SQL Server 上部署 Session Recording 数据库

在 Azure VM 上的 SQL Server 上,可以部署 Session Recording 数据库。

  1. 签出 Azure SQL VM。
  2. 配置 VM 并将其添加到安装了 Session Recording 组件的域中。
  3. 在安装 Session Recording 数据库期间,使用 VM 的 FQDN 作为实例名称。 注意: 使用 SessionRecordingAdministrationx64.msi 进行安装时,请取消选中启用云 SQL 复选框。
  4. 按照说明完成安装。

卸载 Session Recording

要从服务器或工作站中删除 Session Recording 组件,请使用 Windows“控制面板”中提供的卸载或删除程序选项。要删除 Session Recording 数据库,您必须具有与安装时同样的 securityadmindbcreator SQL Server 角色权限。

出于安全原因,在卸载组件之后不会删除管理员日志记录数据库。

与 Citrix Analytics for Security 集成

您可以将 Session Recording Server 配置为将用户事件发送到 Citrix Analytics for Security,后者会处理这些用户事件以提供有关用户行为的切实可行的见解。

必备条件

开始操作之前,请满足以下必备条件:

  • Session Recording Server 可以连接到以下地址:

  • Session Recording 部署为出站 Internet 连接打开了端口 443。网络上的任何代理服务器都必须允许与 Citrix Analytics for Security 进行此通信。

  • 如果您使用的是 Citrix Virtual Apps and Desktops 7 1912 LTSR,支持的 Session Recording 版本为 2103 或更高版本。

将 Session Recording Server 连接到 Citrix Analytics for Security

  1. 登录 Citrix Cloud。

  2. 找到 Citrix Analytics for Security,然后单击 Manage(管理)。

  3. 在顶部栏中,单击 Settings(设置)> Data Sources(数据源)

  4. Virtual Apps and Desktops - Session Recording 站点卡片上,单击 Connect Session Recording server(连接 Session Recording Server )。

    Session Recording 连接

  5. Connect Session Recording Server(连接 Session Recording Server)页面上,查看核对清单,然后选择所有必须满足的要求。如果未选择必须满足的要求,则会禁用 Download File(下载文件)选项。

    Session Recording 核对清单

  6. 如果您的网络中有代理服务器,请在 Session Recording Server 的 SsRecStorageManager.exe.config 文件中输入代理地址。

    配置文件位于 <Session Recording server installation path>\bin\SsRecStorageManager.exe.config

    例如: C:\Program Files\Citrix\SessionRecording\Server\Bin\SsRecStorageManager.exe.config

    配置文件路径

  7. 单击 Download File(下载文件)以下载 SessionRecordingConfigurationFile.json 文件。

    注意:

    该文件包含敏感信息。请将该文件保存在安全的位置。

  8. 请将该文件复制到要连接到 Citrix Analytics for Security 的 Session Recording Server 。

    如果您的部署中有多个 Session Recording Server ,则必须在要连接的每台服务器中复制该文件,然后按照步骤配置每台服务器。

  9. 在 Session Recording Server 上,运行以下命令以导入设置:

    <Session Recording server installation path>\bin\SsRecUtils.exe -Import_SRCasConfigurations <configuration file path>
    <!--NeedCopy-->
    

    例如:

    C:\Program Files\Citrix\SessionRecording\Server\bin\ SsRecUtils.exe -Import_SRCasConfigurations C:\Users\administrator \Downloads\SessionRecordingConfigurationFile.json
    <!--NeedCopy-->
    
  10. 重新启动以下服务:

    • Citrix Session Recording Analytics Service

    • Citrix Session Recording Storage Manager

  11. 配置成功后,转到 Citrix Analytics for Security 查看连接的 Session Recording Server 。单击 Turn On Data Processing(打开数据处理)以允许 Citrix Analytics for Security 处理数据。

    注意:

    如果您使用的是 Session Recording Server 版本 2103 或 2104,则必须首先启动 Virtual Apps and Desktops 会话,才能在 Citrix Analytics for Security 上查看连接的 Session Recording Server 。否则,连接的 Session Recording Server 将无法显示。此要求不适用于 Session Recording Server 版本 2106 及更高版本。

查看已连接的部署

仅当配置成功时,服务器部署才会显示在 Session Recording 站点卡片上。站点卡片显示已与 Citrix Analytics for Security 建立连接的已配置服务器的数量。

如果在配置成功后仍看不到 Session Recording Server ,请参阅已配置的 Session Recording Server 无法连接中的故障排除部分。

Session Recording 部署

在站点卡片上,单击部署数量以使用 Citrix Analytics for Security 查看已连接的服务器组。例如,单击 1 Session Recording Deployment(1 Session Recording 部署)可查看连接的一个或多个服务器组。每个 Session Recording Server 都由一个基本 URL 和一个 ServerGroupID 表示。

SR 部署详细信息

查看收到的事件

站点卡片显示连接的 Session Recording 部署以及过去一小时(默认时间选择)从这些部署接收的事件。还可以选择 1 周并查看数据。单击接收的事件数量可在自助搜索页面上查看事件。

启用数据处理后,站点卡片可能会显示 No data received(未收到数据)状态。出现此状态有两种原因:

  1. 如果您是首次打开数据处理,事件将需要一些时间才能到达 Citrix Analytics 中的事件中心。当 Citrix Analytics 收到事件时,状态将更改为 Data processing on(数据处理已启用)。如果状态在一段时间后仍未发生变化,请刷新“Data Sources”(数据源)页面。

  2. Citrix Analytics 在过去一小时内未收到来自数据源的任何事件。

添加 Session Recording Server

要添加 Session Recording Server ,请执行以下操作之一:

  • Connected Session Recording Deployments(已连接的 Session Recording 部署)页面上,单击 Connect to Session recording server(连接到 Session Recording Server)。

    连接部署

  • Virtual Apps and Desktops - Session Recording 站点卡片上,单击垂直省略号 (⋮),然后选择 Connect Session Recording server(连接 Session Recording Server )。

    Session Recording 连接

按照步骤下载配置文件并配置 Session Recording Server 。

删除 Session Recording Server

要删除 Session Recording Server ,请执行以下操作:

  1. 在 Citrix Analytics for Security 上,转到 Connected Session Recording Deployments(已连接的 Session Recording 部署)页面,然后选择要删除的服务器部署。

  2. 单击垂直省略号 (⋮),然后选择 Remove Session Recording server from Analytics(从 Analytics 中选择删除 Session Recording Server )。

    删除 Session Recording Server

  3. 在已从 Citrix Analytics 中删除的 Session Recording Server 上,运行以下命令:

    <Session Recording server installation path>\bin\SsRecUtils.exe -Remove_SRCasConfigurations
    <!--NeedCopy-->
    

    例如:

    C:\Program Files\Citrix\SessionRecording\Server\bin\ SsRecUtils.exe -Remove_SRCasConfigurations
    <!--NeedCopy-->
    

打开或关闭数据源上的数据处理

您可以随时停止对特定数据源(Director 和 Workspace 应用程序)的数据处理。在数据源站点卡片上,单击垂直省略号 (⋮),然后选择 Turn off data processing(关闭数据处理)。Citrix Analytics 将停止处理该数据源的数据。您还可以从“Virtual Apps and Desktops”站点卡片停止数据处理。此选项适用于数据源 Director 和 Workspace 应用程序。 要再次启用数据处理,请单击 Turn On Data Processing(打开数据处理)。

配置的 Session Recording Server 无法连接

配置后,您的 Session Recording Server 无法连接到 Citrix Analytics。因此,在 Session Recording 站点卡片上看不到已配置的服务器。

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

  1. 在配置的 Session Recording Server 上,运行以下 PowerShell 命令以检查客户端计算机标识 (CMID):

    Get-WmiObject -class SoftwareLicensingService | select Clientmachineid
    <!--NeedCopy-->
    
  2. 如果 CMID 为空,请在指定的路径中添加以下注册表文件:

    注册表名称 注册表路径 注册表项类型
    AuditorUniqueID Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server\ 字符串 输入您的 UUID。
    EnableCASUseAuditorUniqueID Computer/HKEY_LOCAL_MACHINE/SOFTWARE/Citrix/SmartAuditor/Server/ REG_DWORD 1
  3. 重新启动以下服务:

    • Citrix Session Recording Analytics Service

    • Citrix Session Recording Storage Manager