Session Recording

安装、升级和卸载

注意:

要通过负载平衡配置服务器高可用性,请参阅 在现有部署中配置负载平衡在 Azure 中部署和负载平衡会话录制

本文将介绍以下几个部分:

安装核对清单

您需要使用以下文件来安装会话录制组件:

  • Broker_PowerShellSnapIn_x64.msi

  • SessionRecordingAdministrationx64.msi

  • SessionRecordingAgentx64.msi

  • SessionRecordingPlayer.msi

  • SessionRecordingWebPlayer.msi

在开始安装之前,请完成以下列表:

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

注意:

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

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

为使会话录制正常工作,请使用以下 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. 在您计划安装会话录制管理组件的计算机上,请执行以下操作:

    1. 确保 PowerShell 中的执行策略设置为 远程签名无限制

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

      该脚本会显示已成功添加的功能,然后停止运行。

    3. 脚本运行后,请确保执行策略已根据您的公司策略设置为适当的值。

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

    1. 确保 PowerShell 中的执行策略设置为 远程签名无限制

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

      该脚本会显示已成功添加的功能,然后停止运行。

    3. 脚本运行后,请确保执行策略已根据公司策略设置为适当的值。

安装会话录制功能所需的管理组件

注意:

从 2110 开始,在 Windows Server 2016(其中 TLS 1.0 已禁用)上安装 Session Recording 管理组件之前,请完成以下步骤:

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

  3. 重新启动。

我们建议您在单独的服务器上安装会话录制管理、会话录制代理和会话录制播放器组件。

会话录制管理组件包括会话录制数据库、会话录制服务器和会话录制策略控制台。您可以选择要在服务器上安装的组件。

注意:

从 2110 开始,在禁用 TLS 1.0 的 Windows Server 2016 上安装会话录制管理组件之前,请完成以下步骤:

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

  3. 重新启动 Windows 服务器 2016。
  1. Install Broker_PowerShellSnapIn_x64.msi.

    重要:

    要使用会话录制策略控制台,请手动安装 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. 在安装 UI 上,单击“下一步”并接受许可协议。

  4. 在“会话录制管理设置”屏幕上,选择要安装的会话录制管理组件。

    会话录制管理设置屏幕

    注意:

    将所有会话录制管理组件安装在单个服务器上对于概念验证来说没有问题。但是,对于大型生产环境,我们建议将会话录制策略控制台安装在单独的服务器上,并将会话录制服务器、会话录制管理员日志记录和会话录制数据库安装在另一个单独的服务器上。会话录制管理员日志记录是会话录制服务器的一个可选子功能。在选择会话录制管理员日志记录之前,请先选择会话录制服务器。

安装会话录制所需的数据库

注意:

会话录音数据库和 Microsoft SQL Server 通常有三种部署类型:

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

    • 实例名称:如果数据库实例不是命名实例,则只能使用 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 服务器角色权限的数据库管理员的凭据。键入正确的凭据,然后单击“确定”以继续安装。

        安装会创建会话录制数据库,并将会话录制服务器的计算机帐户添加为 db_owner

    • 会话录制服务器计算机帐户

      • 部署 1 和 2:在会话录制服务器计算机帐户文本框中键入 localhost

      • 部署 3:以 domain\computer-name 格式键入托管会话录制服务器的计算机名称。会话录制服务器计算机帐户是用于访问会话录制数据库的用户帐户。

      注意:

      会话录制服务器计算机帐户文本框中设置域名时,尝试安装会话录制管理组件可能会失败,并显示错误代码 1603。作为一种解决方法,请在会话录制服务器计算机帐户文本框中键入 localhost 或 NetBIOS 域名\计算机名称。要获取 NetBIOS 域名,请在安装会话录制服务器的计算机上,在 PowerShell 中运行 $env:userdomain 或在命令提示符下运行 echo %UserDomain%

  2. 请按照安装说明完成安装过程。

安装会话录制服务器

  1. 选择会话录制服务器会话录制管理员日志记录

    注意:

    • 会话录制管理员日志记录是会话录制服务器的一个可选子功能。在选择会话录制管理员日志记录之前,请先选择会话录制服务器。
    • 我们建议您同时安装会话录制管理员日志记录和会话录制服务器。如果您不希望启用管理员日志记录功能,可以在后续页面上将其禁用。
  2. 数据库和服务器配置页面上,指定设置。

    • 实例名称:在实例名称文本框中键入 SQL Server 的名称。如果您使用的是命名实例,请键入 computer-name\instance-name;否则,仅键入 computer-name。如果您的 SQL Server 侦听的端口不是默认端口 1433,而是自定义端口,请通过在实例名称后附加逗号来设置自定义侦听器端口。例如,在实例名称文本框中键入 DXSBC-SRD-1,2433,其中逗号后的 2433 表示自定义侦听器端口。
    • 数据库名称:在数据库名称文本框中键入自定义数据库名称,或使用文本框中预设的默认数据库名称 CitrixSessionRecording。 您必须具有数据库的 securityadmindbcreator 服务器角色权限。如果您没有这些权限,可以执行以下操作:
      • 请数据库管理员分配安装权限。安装完成后,securityadmindbcreator 服务器角色权限不再需要,可以安全删除。
      • 或者,在 msi 安装过程中,对话框会提示输入具有 securityadmindbcreator 服务器角色权限的数据库管理员凭据。键入正确的凭据,然后单击 OK 继续安装。
    • 键入正确的实例名称和数据库名称后,单击 Test connection 以测试与 Session Recording 数据库的连接。

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

    • 日志记录数据库安装在 SQL Server 实例上:此文本框不可编辑。管理日志记录数据库的 SQL Server 实例名称会自动从您在 Database and Server Configuration 页面上键入的实例名称中获取。
    • 日志记录数据库名称:在此文本框中为管理员日志记录数据库键入自定义数据库名称,或使用文本框中预设的默认数据库名称 CitrixSessionRecordingLogging

      注意:

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

    • 使用默认数据库名称:选择此选项将使用默认日志记录数据库名称。
    • 启用日志记录服务:默认情况下,管理日志记录功能处于启用状态。您可以通过清除此复选框来禁用它。
    • 启用强制阻止:默认情况下,强制阻止处于启用状态。如果日志记录失败,正常功能可能会被阻止。您可以通过清除此复选框来禁用强制阻止。
  4. 单击 Next 并完成安装。

注意:

会话录音服务器的默认安装使用 HTTPS/TLS 来保护通信安全。如果会话录音服务器的默认 Internet 信息服务 (IIS) 站点中未配置 TLS,请使用 HTTP。为此,请在 IIS 管理控制台中取消选择 SSL。导航到会话录音代理站点,打开 SSL 设置,然后清除“要求 SSL”复选框。

安装会话录音代理程序

将会话录制代理安装在您要录制会话的 VDA 或 VDI 计算机上。

  1. 会话录制代理配置页面上:如果您已提前安装会话录制服务器,请键入安装会话录制服务器的计算机的名称。键入与会话录制服务器连接的协议和端口信息。如果您尚未安装会话录制,则可以在以后通过会话录制代理属性更改此类信息。
  2. 请按照说明进行操作,以完成安装。

注意:

当 机器创建服务 (MCS) 或 Citrix 供应服务 (PVS) 创建安装了 微软消息队列 (MSMQ) 的 VDA 时,在某些情况下,这些 VDA 可能具有相同的 QMId。这种情况可能会导致各种问题,例如:

  • 即使接受了录制协议,会话也可能不会被录制。
  • 会话录制服务器可能无法接收会话注销信号,因此,会话可能始终处于“实时”状态。

作为一种解决方法,为每个 VDA 创建一个唯一的 QMId,它因部署方法而异。

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

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

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

1. Make sure that the execution policy is set to RemoteSigned or Unrestricted in PowerShell.

Set-ExecutionPolicy RemoteSigned

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

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

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

以下是关于 GenRandomQMID.ps1 脚本的摘要信息:

  1. 从注册表中删除当前的 QMId
  2. SysPrep = 1 添加到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
  3. Stop related services, including CitrixSmAudAgent and MSMQ.
  4. 要生成随机 QMId,请启动之前停止的服务。

Example 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-->

安装会话录制播放器和网页播放器

在会话录制服务器或域中的工作站上安装会话录制播放器。仅在会话录制服务器上安装网页播放器。

双击 SessionRecordingPlayer.msiSessionRecordingWebPlayer.msi,然后按照说明完成安装。

自动化安装部署

Session Recording 支持带选项的静默安装。编写一个使用静默安装的脚本并运行相关命令。

Automate installation of the Session Recording administration components

使用单个命令安装全套 Session Recording 管理组件

例如,以下任一命令都将安装全套 Session Recording 管理组件并创建一个日志文件以捕获安装信息。

msiexec /i "c:\SessionRecordingAdministrationx64.msi" AddLocal="SsRecServer,PolicyConsole,SsRecLogging,StorageDatabase" DatabaseInstance="WNBIO-SRD-1" DatabaseName="CitrixSessionRecording" LoggingDatabaseName="CitrixSessionRecordingLogging" DatabaseUser="localhost" AllowSession0Install="1" /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" AllowSession0Install="1" /q /l*vx "c:\WithLogging.log"
<!--NeedCopy-->

注意:

SessionRecordingAdministrationx64.msi 文件位于 Citrix 虚拟应用和桌面 ISO 镜像的 \layout\image-full\x64\Session Recording 目录下。

其中:

  • AddLocal 提供可供您选择的功能。您可以选择多个选项。SsRecServer 是会话录制服务器。PolicyConsole 是会话录制策略控制台。SsRecLogging 是管理员日志记录功能。StorageDatabase 是会话录制数据库。会话录制管理员日志记录是会话录制服务器的一个可选子功能。选择会话录制服务器后才能选择会话录制管理员日志记录。
  • DatabaseInstance 是会话录制数据库的实例名称。例如,.\SQLEXPRESS,computer-name\SQLEXPRESS,computer-nametcp:srt-sql-support.public.ca7b16b60789.database.windows.net,3342(如果您使用的是 Azure SQL 托管实例)。
  • DatabaseName 是会话录制数据库的数据库名称。
  • LoggingDatabaseName 是管理员日志记录数据库的名称。
  • AzureSQLServiceSupport 用于确定是否支持云端 SQL。要使用云端 SQL,请将其设置为 1
  • DatabaseUser 是会话录制服务器的计算机帐户。
  • AzureUsername 是用于云端 SQL 的管理员名称。
  • AzurePassword is the cloud SQL admin password.
  • AllowSession0Install 确定是否在会话 0 中安装会话录制管理组件。要在会话 0 中安装会话录制管理组件,请将此参数添加到命令并将其设置为 1。运行命令之前,请确保将您的计算机帐户添加为 SQL Server 中的登录名,并为其分配 sysadmin 角色。
  • /q 指定静默模式。
  • /l*v 指定详细日志记录。
  • YourInstallationLog 表示您的安装日志文件的存储位置。

创建用于部署会话录制服务器的主映像

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

  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 管理组件,但不会配置和测试与 Session Recording 数据库以及管理日志数据库的连接。

    Set the IgnoreDBCheck parameter to True and use random values for DatabaseInstance, DatabaseName, and LoggingDatabaseName.

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

  3. 将主映像部署到其他计算机以部署会话录制服务器。

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

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

    这些命令将之前安装的会话录制服务器连接到现有会话录制数据库和管理日志数据库。

    The SsRecUtils.exe file is stored in \Citrix\SessionRecording\Server\bin\. Set the DatabaseInstance, DatabaseName, and LoggingDatabaseName parameters as needed.

在卸载会话录制管理组件时,确保数据库不被删除

KeepDB 设置为 True 后,以下命令在卸载会话录制管理组件时会保留会话录制数据库和管理日志数据库:

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

自动化安装会话录制播放器和 Web 播放器

例如,以下命令分别安装会话录制播放器和 Web 播放器。

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

注意:

SessionRecordingPlayer.msi 文件位于 Citrix 虚拟应用和桌面 ISO 的 \layout\image-full\x86\Session Recording 下。

SessionRecordingWebPlayer.msi 文件位于 Citrix 虚拟应用和桌面 ISO 的 \layout\image-full\x64\Session Recording 下。

其中:

  • /q 指定静默模式。
  • /l*v 指定详细日志记录。
  • yourinstallationlog 是您的安装日志文件所在的路径。

自动化会话录制代理的安装过程

例如,以下命令将安装会话录制代理,并创建一个日志文件以捕获安装信息。

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

注意:

SessionRecordingAgentx64.msi 文件位于 Citrix 虚拟应用和桌面 ISO 的 \layout\image-full\x64\Session Recording 下。

其中:

  • yourservername 是托管会话录制服务器的计算机的 NetBIOS 名称或 FQDN。如果未指定,此值默认为 localhost
  • yourbrokerprotocol 是会话录制代理用于与会话录制代理通信的 HTTP 或 HTTPS。如果未指定,此值默认为 HTTPS。
  • yourbrokerport 是会话录制代理用于与会话录制代理通信的端口号。如果未指定,此值默认为零,这将指示会话录制代理使用所选协议的默认端口号:HTTP 为 80,HTTPS 为 443。
  • /q 指定静默模式。
  • /l*v 指定详细日志记录。
  • yourinstallationlog 是您的安装日志文件所在的路径。

如何升级会话录制

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

注意:

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

请注意,您无法从技术预览版本直接升级。

要求、准备工作和限制条件

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

升级顺序

  1. 当会话录制数据库和会话录制服务器安装在不同的服务器上时,请在会话录制服务器上手动停止会话录制存储管理器服务。然后首先升级会话录制数据库。
  2. 通过 Internet Information Services (IIS) 管理器,确保会话录制代理正在运行。升级会话录制服务器。如果会话录制数据库和会话录制服务器安装在同一服务器上,则会话录制数据库也会升级。
  3. 当会话录制服务器的升级完成时,会话录制服务将自动恢复在线状态。
  4. 升级会话录制代理(在主映像上)。
  5. 与会话录制服务器同时或在其之后升级会话录制策略控制台。
  6. 升级会话录制播放器。

在云 SQL 数据库服务上部署会话录制数据库

本节介绍如何在 Azure SQL 托管实例、AWS RDS 和 Azure VM 上的 SQL Server 上部署会话录制数据库。

在 Azure SQL 托管实例或 AWS RDS 上部署会话录制数据库

提示:

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

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 托管实例,或通过亚马逊 RDS 控制台创建 SQL 服务器实例。

  2. (仅适用于 Azure SQL) 记录属性面板中显示的 Server 字符串。这些字符串是会话录制数据库的实例名称。有关示例,请参阅以下屏幕截图。

    服务器字符串示例

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

    AWS RDS 实例的组成结构

  4. 请执行 SessionRecordingAdministrationx64.msi 文件,从而将会话录制数据库成功安装到系统中。

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

    填写云 SQL 管理员凭据

    注意:

    如果您更改了云 SQL 管理员密码,则必须在会话录制服务器属性中更新密码。当您打开会话录制服务器属性时,将显示一条错误消息。单击确定继续,选择云数据库选项卡,然后键入新的云 SQL 管理员密码。重新启动 Citrix Session Recording Analytics 服务、Citrix Session Recording Storage Manager 服务和 IIS 服务。

    不支持 Azure AD 身份验证。

    更新云 SQL 管理员密码

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

  1. 根据 https://docs.microsoft.com/zh-cn/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. 为了使会话录制在迁移后正常工作,请在会话录制服务器上运行 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. 在会话录制服务器上,重新启动 Citrix 会话录制分析服务、Citrix 会话录制存储管理器服务和 IIS 服务。

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

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

  2. 为了使会话录制在迁移后正常工作,请在会话录制服务器上运行 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. 在会话录制服务器上,重新启动 Citrix 会话录制分析服务、Citrix 会话录制存储管理器服务和 IIS 服务。

在 Azure VM 上的 SQL Server 上部署会话录制数据库

在 Azure VM 上的 SQL Server 上,您可以部署会话录制数据库。

  1. 获取一个 Azure SQL 虚拟机。
  2. 配置 VM 并将其添加到安装会话录制组件的域中。
  3. 在安装会话录制数据库期间,使用 VM 的 FQDN 作为实例名称。 注意: 当您使用 SessionRecordingAdministrationx64.msi 进行安装时,请清除 启用云 SQL 复选框。
  4. 请按照提供的说明完成安装。

会话录制的卸载

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

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

与 Citrix 安全分析™ 集成

您可以将会话录制服务器配置为向 Citrix Analytics for Security 发送用户事件,Citrix Analytics for Security 会处理这些用户事件,以提供有关用户行为的可操作见解。

先决条件

在开始之前,请满足以下先决条件:

  • 会话录制服务器可以连接到以下地址:

  • 会话录制部署已打开端口 443,用于出站 Internet 连接。网络上的任何代理服务器都必须允许与 Citrix Analytics for Security 进行此通信。

  • 如果您使用的是 Citrix Virtual Apps™ and Desktops 7 1912 LTSR,则支持的会话录制版本为 2103 或更高版本。

将您的会话录制服务器连接到 Citrix 安全分析

  1. Sign in to Citrix Cloud.

  2. 找到 Citrix 安全分析,然后点击管理

  3. 从顶部栏中,单击 设置 > 数据源

  4. 虚拟应用和桌面 - 会话录制 站点卡片上,单击 连接会话录制服务器

    会话录制连接

  5. 连接会话录制服务器 页面上,查看清单,并选择所有强制性要求。如果您未选择强制性要求,则 下载文件 选项将禁用。

    会话录制清单

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

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

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

    配置文件路径

  7. 请点击 下载文件 按钮,以便将 SessionRecordingConfigurationFile.json 配置文件下载到您的计算机上。

    注意:

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

  8. 将文件复制到要连接到 Citrix Analytics for Security 的会话录制服务器。

    如果您的部署中有多个会话录制服务器,则必须将文件复制到要连接的每个服务器,并按照步骤配置每个服务器。

  9. 在会话录制服务器上,运行以下命令以导入设置:

    <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 会话录制分析服务

    • Citrix 会话录制存储管理器

  11. 配置成功后,转到 Citrix Analytics for Security 查看已连接的会话录制服务器。单击“启用数据处理”以允许 Citrix Analytics for Security 处理数据。

    注意:

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

查看已连接的部署

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

如果即使配置成功后仍未看到会话录制服务器,请参阅故障排除部分 已配置的会话录制服务器无法连接

会话录制部署

在站点卡上,单击部署数量以查看与 Citrix Analytics for Security 连接的服务器组。例如,单击“1 个会话录制部署”以查看已连接的服务器或服务器组。每个会话录制服务器都由一个基本 URL 和一个 ServerGroupID 表示。

SR 部署详细信息

查看收到的事件

站点卡显示已连接的会话录制部署以及这些部署在过去一小时内收到的事件(默认时间选择)。您还可以选择 1 周 (1 W) 并查看数据。单击收到的事件数量以在自助搜索页面上查看事件。

启用数据处理后,站点卡片可能会显示未收到数据状态。此状态出现的原因有二:

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

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

添加会话录制服务器

要添加会话录制服务器,请执行以下操作之一:

  • 在“已连接的会话录制部署”页面上,单击“连接到会话录制服务器”。

    连接部署

  • 在“Virtual Apps and Desktops - 会话录制”站点卡片上,单击垂直省略号 (⋮),然后选择“连接会话录制服务器”。

    会话录制连接

请遵循以下步骤,以下载配置文件并配置会话录制服务器。

删除会话录制服务器

要删除会话录制服务器:

  1. 在 Citrix Analytics for Security 中,转到“已连接的会话录制部署”页面,然后选择要删除的服务器部署。

  2. 单击垂直省略号 (⋮) 并选择“从 Analytics 中删除会话录制服务器”。

    删除会话录制服务器

  3. 在已从 Citrix Analytics 中移除的会话录制服务器上,运行以下命令:

    <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

配置的会话录制服务器无法连接

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

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

  1. 在您配置的会话录制服务器上,运行以下 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/ 注册表双字值 1
  3. 重新启动以下服务:

    • Citrix 会话录制分析服务

    • Citrix 会话录制存储管理器