安装、升级和卸载

本文包含以下各节:

安装核对表

可以使用以下文件安装 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) 或 Provisioning Services,请准备一个唯一的 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 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 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 组件

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

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

  1. 安装 Broker_PowerShellSnapIn_x64.msi

    重要:

    必须安装 Broker PowerShell 管理单元 (Broker_PowerShellSnapIn_x64.msi),才能使用 Session Recording 策略控制台。请在 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 Administration 安装程序屏幕上,选择要安装的 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 实例名称是自动从您在数据库和服务器配置页面上键入的实例名称中抓取的。
    • 日志记录数据库名称: 要安装 Session Recording 管理员日志记录功能,请在此文本框中键入管理员日志记录数据库的自定义数据库名称,或者使用文本框中已有的默认数据库名称 CitrixSessionRecordingLogging

      注意:

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

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

注意

:Session Recording Server 默认安装使用 HTTPS/TLS 来确保通信安全。如果在 Session Recording Server 的默认 Internet Information Services (IIS) 站点中没有配置 TLS,则使用 HTTP。为此,请在 IIS 管理控制台中通过执行以下操作取消选择 SSL:导航到 Session Recording Broker 站点,打开 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) 或 Provisioning Services (PVS) 创建的多个 VDA 具有配置的主映像并安装了 Microsoft 消息队列 (MSMQ),则在某些情况下,这些 VDA 可能具有相同的 QMId。这种情况可能会导致出现各种问题,例如:

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

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

如果安装了 Session Recording Agent 的单会话操作系统 VDA 是在静态桌面模式下使用 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 并创建一个日志文件,用于捕获安装信息。

对于 64 位系统:

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

在 32 位系统中:

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

注意:

SessionRecordingAgent.msi 文件位于 Citrix Virtual Apps and Desktops ISO 上的 \layout\image-full\x86\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 或更高版本时,如果在 Session Recording Administration 中选择修改以添加管理员日志记录服务,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,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 服务。

    更新云 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 角色权限。

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