Session Recording 2503

管理基本部署代理

您可以使用 Session Recording 来管理基本部署代理。此功能提供了一种轻量级的 Session Recording 部署方法。您可以使用此部署方法来利用 Session Recording 的基本功能——将活动会话录制为 MP4 文件,而无需部署后端组件,例如 Session Recording 服务器、播放器、数据库和控制台。

安装指南

会话录制代理默认随 Citrix 虚拟投递代理 (VDA) 一起安装。

  • 新安装:当安装或升级到 VDA 2511 或更高版本时,Session Recording Agent 将安装并以部署模式运行。

管理部署

  • 现有安装:如果您已安装会话录制代理,可以通过将代理升级到版本 2511 或更高版本,并在会话录制代理属性中将会话录制服务器地址更改为 localhost 来切换到基本部署模式。

管理部署

使用基本部署代理

在基本部署模式下,最终用户或管理员可以使用 Citrix Virtual Desktop Assistant 或 PowerShell 命令手动触发录制。录制也可以通过热键或动态录制触发。

使用思杰虚拟桌面助手启动或停止录制

Citrix Virtual Desktop Assistant 默认安装在 CVAD 中。它包含一个内置的 Session Recording 页面,允许客户手动录制其活动的虚拟桌面会话。此功能使客户能够将屏幕活动捕获为 MP4 视频剪辑,用于故障排除、协作和会话审查。

有关详细信息,请参阅Citrix 虚拟桌面助手应用程序

使用 PowerShell 命令启动或停止录制

最终用户和管理员都可以使用 PowerShell 命令来管理录制。

导入会话录制功能模块

在运行任何命令之前,请确保已导入必要的模块。

打开 PowerShell 并通过运行以下命令导入模块:

Import-Module -DisableNameChecking 'C:\Program Files\Citrix\SessionRecording\Agent\Bin\EndUserInitiatedSRSnapin.dll'

管理部署

可用的命令

下表列出了三个 PowerShell 命令,这些命令提供由最终用户触发的会话 录制功能。

命令 详细说明
开始会话录制 开始录制执行此命令的活动会话。要录制特定的活动会话,请使用 -SessionId <ID> 参数(需要本地管理员权限)。有关更多信息,请运行 Get-Help Start-SessionRecording 以查看命令的在线帮助。
停止会话录制 停止录制执行此命令的活动会话。要停止录制特定的活动会话,请使用 -SessionId <ID> 参数(需要本地管理员权限)。注意:用户只能停止由其启动的录制。他们无法停止由动态或基于策略的录制触发的录制。有关更多信息,请运行 Get-Help Stop-SessionRecording 以查看命令的在线帮助。
获取会话录制状态 检索执行此命令的活动会话的录制状态。要获取特定活动会话的状态,请使用 -SessionId <ID> 参数。有关更多信息,请运行 Get-Help Get-SessionRecording Status 以查看命令的在线帮助。

示例 1: 最终用户触发的录制

最终用户可以触发针对其当前活动会话的录制,以动态捕获操作(例如,用于故障排除)。

用户可以在会话中执行以下步骤:

  1. 从会话桌面启动 PowerShell。

  2. 按照上一节中描述的方式导入模块。
  3. 使用 Get-SessionRecording Status 命令检查录制状态,确保会话尚未被录制。
  4. 使用 Start-SessionRecording 命令开始录制会话。
  5. 使用 Get-SessionRecordingStatus 命令检查录制状态,确保会话正在被录制。状态应为 Recording

    管理部署

  6. 重现问题或执行那些需要被记录下来的操作。
  7. 一旦操作完成,使用 Stop-SessionRecording 命令 停止录制。
  8. 找到录制文件并进行后续故障排除。默认情况下,存储路径为:% USE RPROFILE %\Videos\SessionRecordings,这可以通过配置基本部署代理设置进行自定义。

注意:

当会话持续时间达到 30 分钟 或文件大小达到 60 MB 时,录制将自动停止。

示例 2: 管理员触发的录制

管理员可以触发对机器上特定活动会话的录制(例如,协助用户进行故障排除)。

管理员可以在托管会话的计算机上执行以下步骤:

  1. 以管理员身份启动 PowerShell。
  2. 请按照上一节中描述的方法导入模块。
  3. 通过使用 query session 命令获取目标用户会话的会话 ID。 query session | Select-String "Active"

    管理部署

  4. 使用 Get-SessionRecordingStatus -SessionId <SessionID> 命令检查录制状态,确保会话尚未被录制。状态应 显示如下:

    管理部署

  5. 使用 Start-SessionRecording -SessionId <SessionID> 命令开始录制会话。

  6. 使用 Get-SessionRecordingStatus -SessionId <SessionID> 命令检查录制状态,确保会话正在被录制。状态应显示为 Recording

  7. 指示用户重现所发生的问题,或者执行那些需要被记录下来的操作步骤。
  8. 操作完成后,使用 Stop-SessionRecording -SessionId <SessionID> 停止录制。
  9. 在目标用户配置文件下找到录制文件,例如: C:\Users\user0\Videos\SessionRecordings 并继续进行后续故障排除。

使用热键启动或停止录制

最终用户也可以使用快捷键(热键)控制录制。默认情况下,此功能是禁用的。

启用热键

若要启用热键功能,请在 VDA 计算机上执行以下操作:

Set-SessionRecordingConfiguration -PerMachine -EnableHotkeys $true

此命令需要本地管理员帐户才能执行。

此设置按计算机应用,并对后续活动会话生效。

默认热键

启用后,默认热键为:

  • 要开始录制,请按下组合键:CTRL + SHIFT + F8
  • 停止录制,请使用快捷键:CTRL + SHIFT + F9

注意:

默认情况下,存储路径位于:%USERPROFILE%\Videos\SessionRecordings,可以通过配置基本部署代理设置进行自定义。

当会话持续时间达到30 分钟或文件大小达到60 MB时,录制将自动停止。

自定义热键

如果默认热键与其他应用程序冲突,您可以使用以下命令对其进行自定义:

Set-SessionRecordingConfiguration -PerMachine -StartHotKey <hotkey> -StopHotKey <hotkey>

热键规则:

  • 只有 F1–F12大写字母 (A–Z) 可以用作最后一个键。
  • 您只需定义组合中的最后一个键CTRL + SHIFT 前缀是强制性的,并会自动应用。

示例:要将启动热键设置为 CTRL + SHIFT + F1,您需要输入 F1 作为 <hotkey>。

通过使用动态录制启动或停止录制

您还可以使用动态会话录制策略触发录制。有关详细信息,请参阅动态会话录制

注意:

默认情况下,存储路径位于:%USERPROFILE%\Videos\SessionRecordings,这可以通过配置基本部署代理设置进行自定义。

当会话持续时间达到 30 分钟或文件大小达到 60 MB 时,录制将自动停止。

配置基本部署代理的各项设置

您可以使用 PowerShell 命令自定义基本部署代理的设置。这些设置在计算机或用户级别应用。

先决条件

在配置设置之前,您必须将必要的模块导入 PowerShell 会话。

  1. 打开 PowerShell 并导航到代理安装文件夹:<SessionRecordingAgent installation path>\Bin 文件夹。

    例如:cd "C:\Program Files\Citrix\SessionRecording\Agent\Bin\"

  2. 通过运行以下命令导入模块:

    import-module -DisableNameChecking.\EndUserInitiatedSRSnapin.dll

    管理部署

PowerShell 的配置管理相关命令

下表列出了用于管理会话录制配置的 PowerShell 命令:

命令 描述信息
Set-SessionRecordingConfiguration 在计算机或用户级别设置会话录制配置值。有关详细信息,请运行 Get-Help SetSessionRecordingConfiguration
Get-SessionRecordingConfiguration 获取有效的会话录制配置或从特定注册表范围(计算机、用户或会话)查询原始值。有关详细信息,请运行 Get-Help GetSessionRecordingConfiguration
Clear-SessionRecordingConfiguration 清除计算机或用户级别的会话录制配置值,将其恢复为计算机级别或默认值。有关详细信息,请运行 Get-Help ClearSessionRecordingConfiguration

配置参数设置

基本部署模式可用的设置如下。您可以使用 Set-SessionRecordingConfiguration cmdlet 配置它们。

添加 -PerMachine 开关参数以在计算机上应用配置。这需要管理员权限。如果指定,设置将应用于计算机级别。如果省略,设置将应用于 用户级别

属性 类型 设置 作用域 默认值 备注
-允许用户触发 布尔值 允许最终用户触发的录制 计算机 控制用户是否可以手动启动/停止录制
-存储路径 字符串 录制存储路径 计算机、用户、会话 %USERPRO 文件%\视频\会话录制 录制文件保存的目录。此目录可以位于本地驱动器、UNC 网络路径或已装载的驱动器上。
-最大持续时间(分钟) Int 最大录制持续时间 计算机、用户、会话 30 会话在此持续时间(以分钟为单位)后自动停止录制。
-最大大小(兆字节) Int 最大文件大小 计算机、用户、会话 60 会话在达到此大小(以 MB 为单位)后自动停止录制。
-启用预录制 布尔值 启用预录制 计算机 在录制触发器之前启用预录制。
-启用预录制 布尔值 启用预录制 计算机 在录制触发器之前启用预录制。
-预录制时长(秒) 整型 预录制持续时间 计算机 30 预录制缓冲区的持续时间(秒)。
-启用热键 布尔值 启用热键 计算机 启用用于开始/停止录制的热键
-启动热键 字符串 开始录制热键 计算机 F8 默认情况下,此功能映射到 CTRL + SHIFT + F8。
-停止热键 字符串 停止录制热键 计算机 F9 默认情况下,此功能被映射到键盘组合键 CTRL + SHIFT + F9。
-屏幕ID 整型 要录制的屏幕 ID 计算机、用户、会话 0 使用 0 表示所有屏幕。

注意:

如果您在多个级别自定义这些设置,则优先级顺序为:会话 > 用户 > 计算机。

配置设置示例

这些示例说明了不同用户如何设置配置以及代理如何确定最终的有效设置。

示例 1:管理员禁用用户触发的录制

本地管理员(例如 LocalAdmin)可以设置全计算机策略,以禁用所有标准用户手动启动录制的功能。

Set-SessionRecordingConfiguration -PerMachine -AllowUserTrigger $false

说明: 此命令需要管理员权限 (-PerMachine),并阻止此 VDA 上的任何用户使用 Start-SessionRecording,无论其用户级别设置如何。

示例 2:管理员设置全计算机默认值

LocalAdmin 为 VDA 上的所有用户设置默认存储位置、最大持续时间和最大大小。

Set-SessionRecordingConfiguration -PerMachine -StoragePath "D:\SessionRecordings"-MaximumDurationInMinutes 120 - MaximumSizeInMegabytes 500

说明: 这会在计算机级别设置配置。对于标准用户(例如 User0),录制现在将默认保存到 D:\SessionRecordings,并在 120 分钟或 500 MB(以先到者为准)后停止。

示例 3:标准用户覆盖计算机默认值

标准用户 (User0) 倾向于将其文件本地保存到 C: 驱动器,从而覆盖管理员的计算机级别设置。

Set-SessionRecordingConfiguration -StoragePath "C:\Users\User0\ SessionRecordings" -MaximumDurationInMinutes 60

说明:由于此命令在没有 -PerMachine 开关的情况下运行,因此它适用于用户级别。由于用户级别设置的优先级高于计算机级别设置,因此 User0 的录制现在将保存到 C:\Users\User0\ SessionRecordings 并在 60 分钟后停止。

示例 4:会话特定覆盖

在特定录制期间,User0 需要将文件临时保存到网络共享 (\\fileshare\temp) 并将持续时间限制为 15 分钟,这会覆盖用户和机器设置。

Start-SessionRecording -StoragePath "\\fileshare\temp" - MaximumDurationInMinutes 15

说明: 直接传递给 Start-SessionRecording 的参数用于创建会话级覆盖,它具有绝对最高的优先级,并且仅对该单个录制实例有效。下一次录制会话将恢复为用户或机器配置。

检查配置设置

使用 Get-SessionRecordingConfiguration cmdlet 查看当前配置的值和最终生效的设置:

Get-SessionRecordingConfiguration

说明: 此命令显示应用层次结构(会话 > 用户 > 机器)的结果,提供当前正在运行该命令的用户所使用的设置。

清除配置设置

使用 Clear-SessionRecordingConfiguration cmdlet 删除自定义设置,允许代理回退到下一个最高优先级的配置。

  • 清除特定用户设置:

    如果 User0 想要停止将文件保存到 C:\Users\User0\SessionRecordings 并将自定义设置恢复为默认设置,他们将运行:

    Clear-SessionRecordingConfiguration -StoragePath - MaximumDurationInMinutes

说明: 这将清除用户范围内的 StoragePathMaximumDurationInMinutes 值。

  • 清除所有机器级配置(需要管理员权限):

    Clear-SessionRecordingConfiguration -PerMachine -ClearAll

说明:此命令需要管理员权限 (-PerMachine),并清除在计算机级别设置的所有自定义配置。

切换代理部署类型

会话录制代理支持两种不同的部署模式:

  • 基本部署模式:这提供了一种轻量级方法,可在不部署后端组件的情况下将活动会话本地录制为 MP4 文件。当会话录制服务器地址设置为 localhost 时,此模式处于活动状态。
  • 标准部署模式:这是一种传统的集中管理部署,其中代理连接到会话录制服务器。此模式提供高可扩展性和高级功能。当会话录制服务器地址设置为服务器的完全限定域名 (FQDN) 时,此模式处于活动状态。

操作模式由在会话录制代理属性或 Windows 注册表中配置的会话录制服务器值决定。

方法 1:使用会话录制代理属性

您可以在特定 VDA 上手动切换模式。

  1. 登录到安装了会话录制代理的 VDA。

  2. 从“开始”菜单中,选择“会话录制代理属性”。

  3. 单击“连接”选项卡。

  4. 修改“会话录制服务器”字段中的值:
    1. 基本部署模式:输入 localhost。
    2. 标准部署模式:输入会话录制服务器的 FQDN
  5. 单击“确定”以保存更改。

方法 2:使用 Windows 注册表或组策略

对于大规模部署,您可以直接在 Windows 注册表中配置设置,通常通过组策略对象 (GPO) 进行部署。

  • 注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Agent\
  • 值名称SmAudServerName
  • 值数据

    • 对于基本部署模式: 将值设置为 localhost。
    • 对于标准部署模式: 将值设置为您的会话录制服务器的 FQDN

    注意:

    模式切换的关键注意事项

    • 会话录制代理仅在会话开始时读取配置值。对部署模式的任何更改都将在 VDA 上启动的下一个新会话中生效。

    • 强烈建议您在有活动或正在进行的录制会话时不要切换模式。请等待所有活动录制停止,以防止数据一致性问题。

管理录制文件

会话录制提供了一个本地工具 SRAgentTool.exe,可帮助您管理录制文件。该工具提供以下功能:

  • 恢复损坏的 MP4 录制:修复因异常情况(例如意外的图形进程崩溃)而无法播放的 MP4 文件。

  • 验证 MP4 录制完整性:检查录制文件是否被篡改,以确保其真实性。

您可以在以下目录中访问该工具:Session RecordingAgent installation path>\Bin

查看使用说明

要在 PowerShell 或命令提示符中查看该工具的帮助信息和使用说明,请运行以下命令:

.\SRAgentTool.exe --help

.\SRAgentTool.exe -h

管理部署

恢复损坏的录制文件

如果录制文件无法播放,请使用恢复命令尝试修复。 命令:

.\SRAgentTool.exe --recover <path_to_mp4>

输出:

  • 成功:该工具显示 Recover success,并显示新恢复文件的路径(通常以 _recover.mp4 为后缀)。

    管理部署

  • 无需恢复:如果文件已可播放,该工具将显示 The file can play normally,无需恢复。

    管理部署

验证录制完整性

要验证录制文件未被修改,请使用验证命令检查其 SHA512 签名。

命令: .\SRAgentTool.exe --valid <path_to_mp4>

输出:

  • 有效:sha512 签名成功匹配。

    管理部署

  • 已篡改:sha512 签名不匹配。

    管理部署

  • 无效文件:该文件不是合法的 mp4 文件。

    管理部署