Session Recording

End-user triggered session recording

Previously, session recording started strictly based on the recording policies configured by administrators. Starting with the current release, Session Recording introduces the end-user triggered session recording feature. With this feature, end users can start or stop recording their own sessions at any time, providing greater flexibility for on-demand recording needs.

Enable end-user triggered recording

By default, end-user triggered recording is disabled. To enable this feature, you must configure a recording policy in the Session Recording Policy Console. For more information about how to configure the customized policy, see Create a custom recording policy.

recording

Start or stop recording by using PowerShell commands

End users can trigger recording through PowerShell commands after importing the required model.

Import the Session Recording Module

Before running the recording commands, you must import the necessary module into the PowerShell session. Open PowerShell and Import the module by running:

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

Available Commands

The following table lists three PowerShell commands that provide for end user triggered session recording.

Command Description
Start-SessionRecording Starts recording the active session in which the command is executed. To record a specific active session, use the -SessionId <ID> parameter (requires local administrator privileges). For more information, run Get-Help Start-SessionRecording to see the command online help.
Stop-SessionRecording Stops recording the active session in which the command is executed. To stop recording a specific active session, use the -SessionId <ID> parameter (requires local administrator privileges). Note: Users can only stop recordings they initiated. They cannot stop recordings triggered by dynamic or policy-based recording. For more information, run Get-Help Stop-SessionRecording to see the command online help.
Get-SessionRecordingStatus Retrieves the recording status of the active session in which the command is executed. To get the status of a specific active session, use the -SessionId <ID> parameter. For more information, run Get-Help Get-SessionRecording Status to see the command online help.

Scenario 1: End-user triggered recording

End users can trigger recordings for their current active session to capture operations dynamically (for example, for troubleshooting purposes).

The user can perform the following steps inside the session:

  1. Launch PowerShell from the session desktop.
  2. Import the module as described in the previous section.
  3. Use the Get-SessionRecordingStatus command to check the recording status, ensure the session is not already being recorded.
  4. Use the Start-SessionRecording command to start recording the session.
  5. Use the Get-SessionRecordingStatus command to check the recording status, ensure the session is being recorded. The status is supposed to be Recording.
  6. Reproduce the issue or perform the operations that need to be documented.
  7. Use the Stop-SessionRecording command to stop recording once the operations are complete.
  8. Inform the administrator to playback the Live or Complete recordings and proceed with the follow-up troubleshooting.

Scenario 2: Administrator-triggered recording

Administrators can trigger recordings for specific active sessions on the machine (for example, to assist a user with troubleshooting).

The administrator can perform the following steps on the machine hosting the session:

  1. Launch PowerShell as an administrator.
  2. Import the module as described in the previous section.
  3. Get the SessionID of the target user session by using : query session find “Active”.
  4. Use the Get-SessionRecordingStatus -SessionId <SessionID> command to check the recording status, ensure the session is not already recorded.
  5. Use the Start-SessionRecording -SessionId <SessionID> command to start recording the session.
  6. Use the Get-SessionRecordingStatus -SessionId <SessionID> command to check the recording status, ensure the session is being recorded. The status is supposed to be Recording.
  7. Instruct the user to reproduce the issue or perform the operations that need to be documented.
  8. Use the Stop-SessionRecording -SessionId <SessionID> to stop recording once the operations are complete.
  9. Playback the Live or Complete recordings and proceed with the follow-up troubleshooting.

Start or stop recording by using Hotkeys

End users can also control recording using shortcut keys (Hotkeys). By default, this feature is disabled.

Enable Hotkeys

To enable the hotkey functionality, add a DWORD value named EnableHotKeys under the registry path: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\EndUserRecording Set the value to 1 on the VDA machine. This setting is applied per machine and will take effect for all subsequent active sessions.

Default Hotkeys

Once enabled, the default hotkeys are:

  • Start recording: CTRL + SHIFT + F8
  • Stop recording: CTRL + SHIFT + F9

Customize Hotkeys

If the default hotkeys conflict with other applications, add or modify the following REG_SZ values under:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\EndUserRecording

  • StartHotkey – specify the new hotkey for starting to record
  • StopHotkey – specify the new hotkey for stopping to record

Hotkey rules

  • Only F1–F12 or capital letters (A–Z) can be used as the last key.
  • You only define the last key in the combination. The CTRL + SHIFT prefix is mandatory and automatically applied.

Example: To set the start hotkey to CTRL + SHIFT + F5, set the value of StartHotkey to F5.

end-user

End-user triggered session recording