安装、升级和卸载

本文档包含以下几个部分:

安装核对清单

您可以通过以下文件安装 Session Recording 组件:

  • Broker_PowerShellSnapIn_x64.msi

  • SessionRecordingAdministrationx64.msi

  • SessionRecordingAgentx64.msi

  • SessionRecordingPlayer.msi

  • SessionRecordingWebPlayer.msi

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

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

注意:

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

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

为了使 Session Recording 正常工作,请使用以下 Citrix 脚本安装必要的 Windows 角色和功能必备项,然后再 安装 Session Recording:

  • InstallPrereqsforSessionRecordingAdministration.ps1

     <#
     .Synopsis
         Installs Prereqs for Session Recording Administration
     .Description
         Supports Windows Server 2012 R2, Windows Server 2016, Windows Server 2019.
         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 2012 R2*') -or ($system -Like '*Microsoft Windows Server 2016*') -or ($system -Like '*Microsoft Windows Server 2019*')))
     {
         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 2012 R2, Windows Server 2016,  Windows Server 2019, Windows 7, Windows 8, Windows 8.1 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 2012 R2*') -or ($system -Like '*Microsoft Windows Server 2016*') -or ($system -Like '*Microsoft Windows Server 2019*')-or ($system -Like '*Microsoft Windows 7*')-or ($system -Like '*Microsoft Windows 8*')-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
         {
             if($system -Like '*Microsoft Windows 7*')
             {
                 dism /online /enable-feature /featurename:IIS-WebServerRole /featurename:IIS-WebServer /featurename:IIS-IIS6ManagementCompatibility /featurename:IIS-Metabase /featurename:IIS-ManagementConsole /featurename:IIS-ApplicationDevelopment /featurename:IIS-NetFxExtensibility /featurename:IIS-ISAPIExtensions /featurename:IIS-CommonHttpFeatures /featurename:IIS-DefaultDocument /featurename:IIS-DirectoryBrowsing /featurename:IIS-HttpErrors /featurename:IIS-HttpRedirect /featurename:IIS-StaticContent /featurename:IIS-HealthAndDiagnostics /featurename:IIS-RequestMonitor /featurename:IIS-Performance /featurename:IIS-HttpCompressionStatic /featurename:IIS-Security /featurename:IIS-RequestFiltering /featurename:IIS-LoggingLibraries /featurename:IIS-HttpTracing
                 dism /online /enable-feature /featurename:MSMQ-Container
                 dism /online /enable-feature /featurename:MSMQ-Server
                 dism /online /enable-feature /featurename:MSMQ-HTTP
             }
             else
             {
                 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 管理组件的计算机上:

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

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

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

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

  2. 在您计划安装会话录制代理组件的计算机上:

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

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

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

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

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

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

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

  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. 会话录制管理设置屏幕上,请选择您希望安装的会话录制管理组件。

    会话录制管理设置屏幕

    注意:

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

安装会话录制数据库组件

注意:

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

  • 部署 1:在同一台计算机上安装会话录制服务器和会话录制数据库,并在远程计算机上安装 Microsoft SQL Server。(推荐)
  • 部署 2:在同一台计算机上安装会话录制服务器、会话录制数据库和 Microsoft SQL Server。
  • 部署 3:在一台计算机上安装会话录制服务器,并在另一台计算机上安装会话录制数据库和 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 服务器角色权限的数据库管理员凭据。键入正确的凭据,然后单击 OK 继续安装。

        安装会创建会话录制数据库,并将会话录制服务器的计算机帐户添加为 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 服务器角色权限的数据库管理员的凭据。键入正确的凭据,然后单击确定以继续安装。
    • 键入正确的实例名称和数据库名称后,单击测试连接以测试与会话录制数据库的连接。

    • 键入会话录制服务器计算机帐户,然后单击下一步
  3. 管理日志记录配置页面上,指定管理日志记录功能的配置。

    • 日志记录数据库安装在 SQL Server 实例上:此文本框不可编辑。管理日志记录数据库的 SQL Server 实例名称将自动从您在数据库和服务器配置页面上键入的实例名称中获取。
    • 日志记录数据库名称:要安装会话录制管理员日志记录功能,请在此文本框中为管理员日志记录数据库键入自定义数据库名称,或使用文本框中预设的默认数据库名称 CitrixSessionRecordingLogging

      注意:

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

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

注意:

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

安装会话录制代理程序

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

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

注意:

When Machine Creation Services (MCS) or Provisioning Services (PVS) creates multiple VDAs with the configured master image and Microsoft Message Queuing (MSMQ) installed, those VDAs can have the same QMId under certain conditions. This case might cause various issues, for example:

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

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

如果使用 PVS 7.7 或更高版本以及 MCS 7.9 或更高版本在静态桌面模式下创建了安装有 Session Recording Agent 的单会话操作系统 VDA,则无需执行其他操作,例如,该模式配置为通过单独的 Personal vDisk 或 VDA 的本地磁盘使所有更改持久化。

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

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

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

Set-ExecutionPolicy RemoteSigned

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

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

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

Summary of the GenRandomQMID.ps1 script:

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

安装会话录制播放器和 Web 播放器

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

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

实现自动化安装

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

实现会话录制管理组件的自动化安装与配置

通过使用单个命令,安装所有会话录制管理组件的完整集合

例如,以下任一命令都将安装完整的会话录制管理组件,并生成一个日志文件以捕获安装过程中的相关信息。

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

注意:

The SessionRecordingAdministrationx64.msi file is located on the Citrix Virtual Apps and Desktops ISO under \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 是用于指定云 SQL 管理员的密码。
  • /q 指定静默模式。
  • /l*v 指定详细日志记录。
  • yourinstallationlog is the location of your installation log file.

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

您可能已经从现有部署中安装了会话录音数据库和管理日志数据库。对于此类情况,现在在使用 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-->
    

    此命令将安装会话录音的管理组件,而不会进行配置和测试到会话录音的数据库以及管理日志的数据库的连接。

    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 resides in \Citrix\SessionRecording\Server\bin\. Set the DATABASEINSTANCE, DATABASENAME, and LOGGINGDATABASENAME parameters as needed.

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

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 是用于存储您的安装日志文件的位置。

实现会话录制代理的自动化安装

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

对于 64 位系统:

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

注意:

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

对于 32 位系统:

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

注意:

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

其中:

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

升级会话录制功能

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

注意:

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

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

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

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

升级顺序

  1. 当会话录音数据库和会话录音服务器安装在不同的服务器上时,请在会话录音服务器上手动停止 Session Recording Storage Manager 服务。然后首先升级会话录音数据库。
  2. 通过 Internet Information Services (IIS) Manager,确保 Session Recording Broker 正在运行。升级会话录音服务器。如果会话录音数据库和会话录音服务器安装在同一服务器上,则会话录音数据库也会升级。
  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 托管实例或通过 Amazon RDS 控制台创建一个 SQL Server 实例。

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

    示例服务器字符串

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

    AWS RDS 实例的组成结构(/zh-cn/session-recording/2104/media/aws-rds-instance-composition.png)

  4. 运行名为 SessionRecordingAdministrationx64.msi 的安装文件,以便完成会话录制数据库的安装过程。

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

    填写云 SQL 管理员凭据

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

    更新云 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 进行安装时,请清除 Enable cloud SQL 复选框。
  4. 请按照提供的说明完成安装。

卸载会话录制功能

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

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