管理基本部署代理
您可以使用 Session Recording 来管理基本部署代理。此功能提供了一种轻量级的 Session Recording 部署方法。您可以使用此部署方法来利用 Session Recording 的基本功能——将活动会话录制到 MP4 文件,而无需部署后端组件,例如 Session Recording 服务器、播放器、数据库和控制台。
安装说明
会话录制代理默认与 Citrix 虚拟交付代理 (VDA) 一起安装。
- 新安装:当安装或升级到 VDA 2511 或更高版本时,Session Recording Agent 将被安装并以部署模式运行。

- 现有安装:如果您已安装 Session Recording 代理,可以通过将代理升级到 2511 或更高版本,并在 Session Recording Agent 属性中将 Session Recording Server 地址更改为 localhost 来切换到基本部署模式。

使用基本部署代理
在基本部署模式下,录制可以由最终用户或管理员使用 PowerShell 命令手动触发。它们也可以通过热键或动态录制来触发。
使用 PowerShell 命令启动或停止录制
最终用户和管理员都可以使用 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: 最终用户触发的录制
最终用户可以为其当前的活动会话触发录制,以动态捕获操作(例如,用于故障排除)。
用户可以在会话中执行以下步骤:
-
从会话桌面启动 PowerShell。
- 按照上一节中的说明导入模块。
- 使用
Get-SessionRecording Status命令检查录制状态,确保会话尚未被录制。 - 使用
Start-SessionRecording命令开始录制会话。 -
使用
Get-SessionRecordingStatus命令检查录制状态,确保会话正在录制。状态应为 Recording。
- 请重现所遇到的问题,或者执行那些需要被记录下来的操作。
- 使用
Stop-SessionRecording命令停止录制,一旦操作已 完成。 - 找到录制文件并进行后续故障排除。默认情况下,存储路径位于:
% USE RPROFILE %\Videos\SessionRecordings,这可以通过配置基本部署代理设置进行自定义。
注意:
当会话持续时间达到 30 分钟或文件大小达到 60 MB 时,录制将自动停止。
示例 2: 管理员触发的录制
管理员可以为机器上特定的活动会话触发录制(例如,协助用户进行故障排除)。
管理员可以在承载会话的机器上,执行以下各项操作步骤:
- 以管理员身份启动 PowerShell。
- 请按照上一节中的说明导入模块。
-
通过使用 query session 命令获取目标用户会话的 SessionID。
query session | Select-String "Active"
-
使用
Get-SessionRecordingStatus -SessionId <SessionID>命令检查录制状态,确保会话尚未被录制。状态应 显示如下:
-
使用
Start-SessionRecording -SessionId <SessionID>命令开始录制会话。 -
使用
Get-SessionRecordingStatus -SessionId <SessionID>命令检查录制状态,确保会话正在录制中。状态应显示为 Recording。 - 指示用户重现所遇到的问题,或执行需要记录的各项操作。
- 操作完成后,使用
Stop-SessionRecording -SessionId <SessionID>停止录制。 - 在目标用户配置文件下找到录制文件,例如:
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 会话。
-
打开 PowerShell 并导航到代理安装文件夹:
<SessionRecordingAgent installation path>\Bin文件夹。例如:
cd "C:\Program Files\Citrix\SessionRecording\Agent\Bin\" -
通过运行以下命令导入模块:
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 FILE%\视频文件\会话录制文件 | 录制文件保存的目录。此目录可以位于本地驱动器、UNC 网络路径或已装载的驱动器上。 |
| -最大持续时间(分钟) | Int | 最大录制持续时间 | 计算机、用户、会话 | 30 | 会话在此持续时间(以分钟为单位)后自动停止录制。 |
| -最大大小(兆字节) | Int | 最大文件大小 | 计算机、用户、会话 | 60 | 会话在此大小(以 MB 为单位)后自动停止录制。 |
| -启用预录制 | 布尔值 | 启用预录制 | 计算机 | 否 | 在录制触发器之前启用预录制。 |
| -启用预录制 | 布尔值 | 启用预录制 | 计算机 | 否 | 在录制触发器之前启用预录制。 |
| -预录制时长(秒) | 整型 | 预录制持续时间 | 计算机 | 30 | 预录制缓冲区的持续时间(秒)。 |
| -启用热键 | 布尔值 | 启用热键 | 计算机 | 否 | 启用用于开始/停止录制的热键 |
| -启动热键 | 字符串 | 开始录制热键 | 计算机 | F8 | Default maps to CTRL + SHIFT + F8. |
| 停止热键 | 字符串 | 停止录制热键 | 计算机 | F9 | 默认情况下,它映射到 CTRL + SHIFT + F9。 |
| -屏幕ID | Int | 要录制的屏幕 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
说明: 这将清除用户范围内的 StoragePath 和 MaximumDurationInMinutes 值。
-
清除所有计算机级别配置(需要管理员权限):
Clear-SessionRecordingConfiguration -PerMachine -ClearAll
说明:此命令需要管理员权限 (-PerMachine),并清除在计算机级别设置的所有自定义配置。
切换代理部署类型
会话录制代理支持两种不同的部署模式:
- 基本部署模式:这提供了一种轻量级方法,可在不部署后端组件的情况下,将活动会话本地录制为 MP4 文件。当会话录制服务器地址设置为 localhost 时,此模式处于活动状态。
- 标准部署模式:这是一种传统的集中管理部署,其中代理连接到会话录制服务器。此模式提供高可扩展性和高级功能。当会话录制服务器地址设置为服务器的完全限定域名 (FQDN) 时,此模式处于活动状态。
操作模式由会话录制代理属性或 Windows 注册表中配置的 会话录制服务器 值决定。
方法 1:使用会话录制代理属性
您可以在特定的 VDA 上手动切换模式。
-
登录到安装了会话录制代理的 VDA。
-
从开始菜单中,选择会话录制代理属性。
-
单击连接选项卡。
- 修改会话录制服务器字段中的值:
- 基本部署模式:输入 localhost。
- 标准部署模式:输入会话录制服务器的 FQDN。
- 单击确定保存更改。
方法 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.mp4 结尾)。

-
无需恢复:如果文件已可播放,工具会显示文件可正常播放,无需恢复。

验证录制文件的完整性
要验证录制文件是否未被修改,请使用验证命令检查其 SHA512 签名。
命令: .\SRAgentTool.exe --valid <path_to_mp4>
输出:
-
有效:sha512 签名成功匹配。

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

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