Skip to content

Session Recording

Note

Below settings are not applicable for 3.4-GA onwards

This article provides Session recording feature details. The session recording functionality helps in recording the running session of the user on server/desktops. The screen of user is recorded after taking session of RDS server/desktop through HyWorks client.

Supported Servers

  • Window Server-2008R2

  • Window Server-2012 R2

  • Window Server -2016

  • Window Server -2019

  • Window Server -2022

Installation Information

Accops Session Recording feature is integrated with HyWorks session host. The module will be automatically installed with Session host. After completion of session host installation, the session recording will be installed, and registry will be created by default.

Default path of installation:- C:\accops_session_recorder

The libraries and dll required for session recording are placed in arsrec folder:- C:\accops_session_recorder\arsrec

Note :- No modification are recommended in scripts and dll's in folder without Accops assistance

Default path of raw data folder for recorded files:- C:\accops_session_recorder\raw_data

The files which are currently in raw_data folder are processed on disconnect and lock events of user and kept in final_output folder. By default the folder is not created. It will check if folder exists or no while placing the processed files. If it exists, it will skip the creation and when not present it will create the folder. Path of processed files folder:- C:\accops_session_recorder\final_output

Registry of SessionRecording is created after installing the session host. The registry will be created at path:- [HKEY_LOCAL_MACHINE\SOFTWARE\Accops\ScreenRecording]

The registry consists of following keys:-

  • Enabled :- By default, key is [Enabled] which states session recording is enabled for all users accessing through HyWorks. Session recording will be invoked from session host custom scripts on session change events. Session recording can be stopped after disabling the key.

  • Framerate :- Framerate is the frequency at which frames per sec are displayed. By default, the frame rate set is [One] i.e 1 frame per sec

  • OutputFile :- The path [C:\accops_session_recorder\raw_data\outputfile] where recorded files of user session will be kept. The recorded file nomenclature will start from output at placed in raw_data folder.

  • Preset :- The values can be 0 or 1. By default, the value is [One]. Preset is instruction setting for the H264 codec for using the ultrafast codec preset which controls the encoding speed to compression ratio and memory consumption.

  • Scale :- The resolution scale of the recording is 1024x768.

  • Username :- " * " states session recording will be enabled for every user which will take session of the shared server from HyWorks client.

Session Host Scripts Configuration

Accops Session host invokes the scripts on Session-Change event such as Connect, Disconnect, Lock, Unlock, Reconnect, Logout. The scripts will be executed when user is connected to the desktop or disconnects, reconnects, locks, unlocks or logouts from desktop.

[Session recording] will be started for HyWorks user when connects, reconnects or unlocks the shared hosted desktop. It will stop recording of desktop on events of disconnect, lock and logout. Recording will perform in user_context custom scripts.

  • Connect_User:- The connect_user bat file path C:\Program Files (x86)\Accops\HyWorks\SessionHost\scripts\Connect_user. The batch file will have following script:-

    connect_user.bat

    C:\accops_session_recorder\arsrec\Invisible.vbs\"C:\accops_session_recorder\arsrec\screenrecording.bat\" %1 %2

  • Disconnect_User:- The disconnect_user bat file path C:\Program Files (x86)\Accops\HyWorks\SessionHost\scripts\Disconnect_user. The batch file will have following script:-

    disconnect_user.bat

    **call C:\accops_session_recorder\arsrec\stop_recording.bat %1 %2

    call C:\accops_session_recorder\arsrec\recording_corrector.bat %1 %2**

  • Lock_User:- The Lock_user bat file path C:\Program Files (x86)\Accops\HyWorks\SessionHost\scripts\Lock_user. The batch file will have following script:-

    lock_user.bat

    **call C:\accops_session_recorder\arsrec\stop_recording.bat %1 %2

    call C:\accops_session_recorder\arsrec\recording_corrector.bat %1 %2**

  • Unlock_User:- The Unlock_user bat file path C:\Program Files (x86)\Accops\HyWorks\SessionHost\scripts\Unlock_user. The batch file will have following script:-

    unlock_user.bat

    C:\accops_session_recorder\arsrec\Invisible.vbs\"C:\accops_session_recorder\arsrec\screenrecording.bat\" %1 %2

  • Reconnect_User:- The Reconnect_user bat file path C:\Program Files (x86)\Accops\HyWorks\SessionHost\scripts\Reconnect_user. The batch file will have following script:-

    reconnect_user.bat

    C:\accops_session_recorder\arsrec\Invisible.vbs\"C:\accops_session_recorder\arsrec\screenrecording.bat\" %1 %2

Note

User-context Logout script is not supported as post logout the user data is lost and hence, not valid.

Functional Working

By default, session recording is enabled from registry during installation of session host. For Custom scripts to work on session change events, it should be enabled from registry.

Session Host will be having registry key named \'Events\' at HKEY_LOCAL_MACHINE\SOFTWARE\Accops\Controller\EDC\SESSIONHOST

There is a sub-key ISENABLED for each of Connect, Diconnect, Lock , Unlock, Reconnect & Logout keys. The default value is false. To start the execution of scripts on session-change the key should be changed to true. After making changes, restart of session host service is MANDATORY.

Note

The execution of scripts can be stopped disabling the key and restarting the service.

The configurations to start session recording for users is completed. Publishing the shared desktop/applications to users can be done from HyWorks Management Console.

Recording will be initiated for users entitled for shared desktop and applications. When users will logon from HyWorks clients and access the shared desktop or applications session recording will start on events.

[Connect event]:- When user connects the shared desktop or applications then session host reads the connect event from the system after which connect_system.bat and connect_user.bat will get invoked. Connect_user.bat calls the screenrecording.bat which starts the recording of desktop/application session of the user.

Same happens when Reconnection and Unlock event is found from system for user's desktops session.Unlock_user.bat and Reconnect_user.bat is called and recording is started.

[Disconnect event]:- When the shared desktop or applications disconnects then, session host reads the disconnect event from the system after which disconnect_system.bat and disconnect_user.bat will get invoked. Disconnect_user.bat calls the stop_recording.bat which stops the recording of desktop/application session of the user and recording_corrector.bat processes the files from the raw_data folder and keeps in final_output.

Same happens when Lock event is found from system for user's desktops session. Lock_user.bat and is called and recording is aborted.

Working of feature scripts:-

  1. Screenrecording.bat:-The screenrecording.bat requires the arguments %1 and %2. %1 argument is \<Username> and %2 argument is \<SessionID>. This batch file starts the ausrec.exe for every user instance.

  2. Stop_recording.bat:- The batch file calls ars_finish.exe which stops ausrec.exe for associated sessionID and stops the screen recording.

  3. Recording_corrector.bat:- The batch file calls ausrec_recover.exe which processes all the recorded files present in raw_data on disconnect or lock events even for single user. Once processing of files is completed they are deleted from raw_data folder and kept in final_output.

  4. Invisible.vbs:-VBscript is to hide the command prompt while running the batch file.

FAQs

Q1: If session recording is enabled on installation, will it start recording of all sessions and for all users ?

Q2: How may files will be created for user on events?

Q3: How recorded files are managed?

Q4: Nomenclature of recorded session files

Q5: How to monitor session recording on server end?

Q6: What is the format of the saved recorded file?

Q7: How is screen recorded for remote applications?

Q8: What will happen when session is minimized from connection bar?

Q9: What is CPU utilization comparison with avi and mkv format?


Q1: If session recording is enabled on installation, will it start recording of all sessions and for all users ?

Ans: No. In order to actually start recording, the registry value ISENABLED needs to be set to TRUE for each event. Please refer section Functional Working


Q2: How may files will be created for user on events?

Ans: For each user 3 files will be created considering single session with events such as connect,unlock and reconnect.

E.g: User1 connects the desktop file will be created ; user1 locks the desktop recording will stop. User1 unlocks the screen new file of recording will be created; user1 disconnects the desktop recording will stop. User1 connects the disconnected session new recording file will be created; user1 logouts the desktop recording will stop.


Q3: How recorded files are managed?

Ans: The processed final recorded files should be moved from C:\accops_session_recorder\final_data to back-up folder in system or network shared folder to avoid load on system.


Q4: Nomenclature of recorded session files

Ans: The format of recorded file is output_{username}_{sessionID}_{date}_{time}


Q5: How to monitor session recording on server end?

Ans: Go to task manager ausrec process instance will be running for every user which is logged in through HyWorks client and accessing the shared desktop.


Q6: What is the format of the saved recorded file?

Ans: The files are saved in avi format.


Q7: How is screen recorded for remote applications?

Ans: The multiple remote applications connected from server1 has same sessionID. Session recording works on basis of sessionID. So, multiple applications with sameID will be recorded in same file.

E:g:- Remote apps- Chrome, notepad. User connects to both apps one after other. The recorded file will display both working application of the user. When any of application is maximized, the other application will be hidden in back drop.


Q8: What will happen when session is minimized from connection bar?

Ans: The recorded file will have black screen displayed because session is running but minimized.


Q9: What is CPU utilization comparison with avi and mkv format?

Ans:


Known Limitations and Issues of Accops Screen Recording Feature

# Description
5840 [Session recording] 30 sec are taken to kill ausrec.exe during screen recording on Disconnect events
5906 [Session recording] CPU is being utilized by session recording ausrec.exe
6646 On uninstalling the session host(SP2) the accops_session_recording and registry is not deleted
6631 Log file should be present for screen recording module.
6641 Accops logo is not present for Accops Screen Recording in control panel