Gérer les agents de déploiement de base

Vous pouvez utiliser l’enregistrement de session pour gérer les agents de déploiement de base. Cette fonctionnalité offre une méthode légère pour déployer l’enregistrement de session. Vous pouvez utiliser cette méthode de déploiement pour exploiter les fonctionnalités de base de l’enregistrement de session, à savoir enregistrer les sessions actives dans des fichiers MP4 sans déployer les composants backend tels que les serveurs d’enregistrement de session, le lecteur, les bases de données et les consoles.

Installation

L’agent d’enregistrement de session est installé par défaut avec le Citrix Virtual Delivery Agent (VDA).

  • Nouvelle installation : Lors de l’installation ou de la mise à niveau vers la version 2511 ou ultérieure du VDA, l’agent d’enregistrement de session est installé et fonctionne en mode déploiement.

manage-deployment

  • Installation existante : Si vous avez déjà un agent d’enregistrement de session installé, vous pouvez passer en mode de déploiement de base en mettant à niveau l’agent vers la version 2511 ou ultérieure et en modifiant l’adresse du serveur d’enregistrement de session en localhost dans les propriétés de l’agent d’enregistrement de session.

manage-deployment

Utiliser l’agent de déploiement de base

En mode de déploiement de base, les enregistrements peuvent être déclenchés manuellement par les utilisateurs finaux ou les administrateurs à l’aide de commandes PowerShell. Ils peuvent également être déclenchés par des raccourcis clavier ou un enregistrement dynamique.

Démarrer ou arrêter l’enregistrement à l’aide de commandes PowerShell

Les utilisateurs finaux et les administrateurs peuvent utiliser des commandes PowerShell pour gérer les enregistrements.

Importer le module d’enregistrement de session

Avant d’exécuter des commandes, assurez-vous que le module nécessaire est importé.

Ouvrez PowerShell et importez le module en exécutant :

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

manage-deployment

Commandes disponibles

Le tableau suivant répertorie trois commandes PowerShell qui permettent l’enregistrement de session déclenché par l’utilisateur final.

Commande Description
Start-SessionRecording Démarre l’enregistrement de la session active dans laquelle la commande est exécutée. Pour enregistrer une session active spécifique, utilisez le paramètre -SessionId <ID> (nécessite des privilèges d’administrateur local). Pour plus d’informations, exécutez Get-Help Start-SessionRecording pour consulter l’aide en ligne de la commande.
Stop-SessionRecording Arrête l’enregistrement de la session active dans laquelle la commande est exécutée. Pour arrêter l’enregistrement d’une session active spécifique, utilisez le paramètre -SessionId <ID> (nécessite des privilèges d’administrateur local). Remarque : Les utilisateurs ne peuvent arrêter que les enregistrements qu’ils ont initiés. Ils ne peuvent pas arrêter les enregistrements déclenchés par un enregistrement dynamique ou basé sur une stratégie. Pour plus d’informations, exécutez Get-Help Stop-SessionRecording pour consulter l’aide en ligne de la commande.
Get-SessionRecordingStatus Récupère l’état d’enregistrement de la session active dans laquelle la commande est exécutée. Pour obtenir l’état d’une session active spécifique, utilisez le paramètre -SessionId <ID>. Pour plus d’informations, exécutez Get-Help Get-SessionRecording Status pour consulter l’aide en ligne de la commande.

Exemple 1 : Enregistrement déclenché par l’utilisateur final

Les utilisateurs finaux peuvent déclencher des enregistrements pour leur session active actuelle afin de capturer les opérations de manière dynamique (par exemple, à des fins de dépannage).

L’utilisateur peut effectuer les étapes suivantes dans la session :

  1. Lancez PowerShell depuis le bureau de la session.

  2. Importez le module comme décrit dans la section précédente.
  3. Utilisez la commande Get-SessionRecording Status pour vérifier l’état de l’enregistrement, assurez-vous que la session n’est pas déjà en cours d’enregistrement.
  4. Utilisez la commande Start-SessionRecording pour démarrer l’enregistrement de la session.
  5. Utilisez la commande Get-SessionRecordingStatus pour vérifier l’état de l’enregistrement, assurez-vous que la session est en cours d’enregistrement. L’état doit être Enregistrement.

    gérer le déploiement

  6. Reproduisez le problème ou effectuez les opérations qui doivent être documentées.
  7. Utilisez la commande Stop-SessionRecording pour arrêter l’enregistrement une fois les opérations terminées.
  8. Trouvez le fichier d’enregistrement et poursuivez le dépannage. Par défaut, le chemin de stockage est : % USE RPROFILE %\Videos\SessionRecordings, cela peut être personnalisé en configurant les paramètres de l’agent de déploiement de base.

Remarque :

L’enregistrement s’arrêtera automatiquement lorsque la durée de la session atteindra 30 minutes, ou que la taille du fichier atteindra 60 Mo.

Exemple 2 : Enregistrement déclenché par l’administrateur

Les administrateurs peuvent déclencher des enregistrements pour des sessions actives spécifiques sur la machine (par exemple, pour aider un utilisateur à résoudre un problème).

L’administrateur peut effectuer les étapes suivantes sur la machine hébergeant la session :

  1. Lancez PowerShell en tant qu’administrateur.
  2. Importez le module comme décrit dans la section précédente.
  3. Obtenez l’ID de session (SessionID) de la session utilisateur cible en utilisant la commande de requête de session. query session | Select-String "Active"

    manage-deployment

  4. Utilisez la commande Get-SessionRecordingStatus -SessionId <SessionID> pour vérifier l’état de l’enregistrement, assurez-vous que la session n’est pas déjà en cours d’enregistrement. L’état doit être affiché comme suit :

    manage-deployment

  5. Utilisez la commande Start-SessionRecording -SessionId <SessionID> pour démarrer l’enregistrement de la session.

  6. Utilisez la commande Get-SessionRecordingStatus -SessionId <SessionID> pour vérifier l’état de l’enregistrement, assurez-vous que la session est en cours d’enregistrement. L’état doit être Enregistrement.

  7. Demandez à l’utilisateur de reproduire le problème ou d’effectuer les opérations qui doivent être documentées.
  8. Utilisez Stop-SessionRecording -SessionId <SessionID> pour arrêter l’enregistrement une fois les opérations terminées.
  9. Recherchez le fichier d’enregistrement sous le profil utilisateur cible, par exemple : C:\Users\user0\Videos\SessionRecordings et poursuivez avec le dépannage de suivi.

Démarrer ou arrêter l’enregistrement à l’aide d’une touche d’accès rapide

Les utilisateurs finaux peuvent également contrôler l’enregistrement à l’aide de touches de raccourci (touches d’accès rapide). Par défaut, cette fonctionnalité est désactivée.

Activer les touches d’accès rapide

Pour activer la fonctionnalité des touches d’accès rapide, sur la machine VDA :

Set-SessionRecordingConfiguration -PerMachine -EnableHotkeys $true

Cette commande nécessite un compte administrateur local pour être exécutée.

Le paramètre est appliqué par machine et prendra effet pour les sessions actives ultérieures.

Raccourcis clavier par défaut

Une fois activés, les raccourcis clavier par défaut sont :

  • Démarrer l’enregistrement : CTRL + SHIFT + F8
  • Arrêter l’enregistrement : CTRL + SHIFT + F9

Remarque :

Par défaut, le chemin de stockage est : %USERPROFILE%\Videos\SessionRecordings, cela peut être personnalisé en configurant les paramètres de l’agent de déploiement de base.

L’enregistrement s’arrêtera automatiquement lorsque la durée de la session atteindra 30 minutes, ou que la taille du fichier atteindra 60 Mo.

Personnaliser les raccourcis clavier

Si les raccourcis clavier par défaut entrent en conflit avec d’autres applications, vous pouvez les personnaliser à l’aide de la commande suivante :

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

Règles des raccourcis clavier :

  • Seules les touches F1–F12 ou les lettres majuscules (A–Z) peuvent être utilisées comme dernière touche.
  • Vous ne définissez que la dernière touche de la combinaison. Le préfixe CTRL + SHIFT est obligatoire et appliqué automatiquement.

Exemple : Pour définir le raccourci clavier de démarrage sur CTRL + SHIFT + F1, vous devez saisir F1 comme <hotkey>.

Démarrer ou arrêter l’enregistrement à l’aide de l’enregistrement dynamique

Vous pouvez également déclencher des enregistrements à l’aide des stratégies d’enregistrement de session dynamique. Pour plus d’informations, consultez Enregistrement de session dynamique.

Remarque :

Par défaut, le chemin de stockage est : %USERPROFILE%\Videos\SessionRecordings, cela peut être personnalisé en configurant les paramètres de l’agent de déploiement de base.

L’enregistrement s’arrêtera automatiquement lorsque la durée de la session atteindra 30 minutes, ou que la taille du fichier atteindra 60 Mo.

Configuration des paramètres de l’agent de déploiement de base

Vous pouvez personnaliser les paramètres de l’agent de déploiement de base à l’aide de commandes PowerShell. Ces paramètres sont appliqués au niveau de la machine ou de l’utilisateur.

Prérequis

Avant de configurer les paramètres, vous devez importer le module nécessaire dans la session PowerShell.

  1. Ouvrez PowerShell et accédez au dossier d’installation de l’agent : dossier <SessionRecordingAgent installation path>\Bin.

    Par exemple : cd "C:\Program Files\Citrix\SessionRecording\Agent\Bin\"

  2. Importez le module en exécutant :

    import-module -DisableNameChecking.\EndUserInitiatedSRSnapin.dll

    manage-deployment

Commandes de configuration PowerShell

Le tableau suivant répertorie les commandes PowerShell pour la gestion de la configuration de l’enregistrement de session :

Commande Description
Set-SessionRecordingConfiguration Définit les valeurs de configuration de l’enregistrement de session au niveau de la machine ou de l’utilisateur. Pour plus d’informations, exécutez Get-Help SetSessionRecordingConfiguration
Get-SessionRecordingConfiguration Obtient la configuration effective de l’enregistrement de session ou interroge les valeurs brutes à partir de portées de registre spécifiques (Machine, Utilisateur ou Session). Pour plus d’informations, exécutez Get-Help GetSessionRecordingConfiguration
Clear-SessionRecordingConfiguration Efface les valeurs de configuration de l’enregistrement de session au niveau de la machine ou de l’utilisateur, les rétablissant aux valeurs par défaut ou au niveau de la machine. Pour plus d’informations, exécutez Get-Help ClearSessionRecordingConfiguration.

Paramètres de configuration

Les paramètres disponibles pour le mode de déploiement de base sont répertoriés comme suit. Vous pouvez utiliser l’applet de commande Set-SessionRecordingConfiguration pour les configurer.

Ajoutez le paramètre de commutateur -PerMachine pour appliquer la configuration à la machine. Cela nécessite des privilèges d’administrateur. S’ils sont spécifiés, les paramètres s’appliquent au niveau de la machine. S’ils sont omis, les paramètres s’appliquent au niveau utilisateur.

Propriété Type Paramètre Portée Par défaut Remarque
-AllowUserTrigger Booléen Autoriser l’enregistrement déclenché par l’utilisateur final Machine Vrai Contrôle si les utilisateurs peuvent démarrer/arrêter manuellement les enregistrements
-StoragePath Chaîne Chemin de stockage des enregistrements Machine, Utilisateur, Session %USERPROFILE%\Videos\Session Recordings Le répertoire où les fichiers d’enregistrement sont sauvegardés. Ce répertoire peut être situé sur un lecteur local, un chemin réseau UNC ou un lecteur monté.
-MaximumDurationInMinutes Int Durée maximale d’enregistrement Machine, Utilisateur, Session 30 La session arrête automatiquement l’enregistrement après cette durée (en minutes).
-MaximumSizeInMegabytes Int Taille maximale du fichier Machine, Utilisateur, Session 60 La session arrête automatiquement l’enregistrement après avoir atteint cette taille (en Mo).
-EnablePreRecording Boolean Activer le pré-enregistrement Machine Faux Activer le pré-enregistrement avant le déclenchement de l’enregistrement.
-EnablePreRecording Booléen Activer le pré-enregistrement Machine Faux Activer le pré-enregistrement avant le déclenchement de l’enregistrement.
-PreRecordingDurationInSeconds Entier Durée du pré-enregistrement Machine 30 La durée du tampon de pré-enregistrement en secondes.
-EnableHotkeys Booléen Activer les raccourcis clavier Machine Faux Active les raccourcis clavier pour démarrer/arrêter l’enregistrement
-StartHotkey Chaîne Raccourci clavier pour démarrer l’enregistrement Machine F8 La valeur par défaut correspond à CTRL + MAJ + F8.
-StopHotkey Chaîne Raccourci clavier pour arrêter l’enregistrement Machine F9 Par défaut, correspond à CTRL + SHIFT + F9.
-ScreenId Int L’ID de l’écran à enregistrer Machine, Utilisateur, Session 0 Utilisez 0 pour tous les écrans.

Remarque :

Si vous personnalisez ces paramètres à plusieurs niveaux, l’ordre de priorité est : Session > Utilisateur > Machine.

Exemple de configuration

Ces exemples illustrent comment différents utilisateurs définissent les configurations et comment l’agent détermine le paramètre final et effectif.

Exemple 1 : L’administrateur désactive l’enregistrement déclenché par l’utilisateur

Un administrateur local (par exemple, LocalAdmin) peut définir une politique à l’échelle de la machine pour désactiver la capacité de tous les utilisateurs standard à démarrer manuellement les enregistrements.

Set-SessionRecordingConfiguration -PerMachine -AllowUserTrigger $false

Explication : Cette commande nécessite des privilèges administratifs (-PerMachine) et empêche tout utilisateur sur ce VDA d’utiliser Start-SessionRecording, quels que soient ses paramètres de niveau utilisateur.

Exemple 2 : L’administrateur définit les paramètres par défaut à l’échelle de la machine

Le LocalAdmin définit l’emplacement de stockage par défaut, la durée maximale et la taille maximale pour tous les utilisateurs sur le VDA.

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

Explication : Ceci définit la configuration au niveau de la machine. Pour un utilisateur standard (par exemple, User0), les enregistrements seront désormais par défaut dans D:\SessionRecordings et s’arrêteront après 120 minutes ou 500 Mo, selon la première limite atteinte.

Exemple 3 : Un utilisateur standard annule les paramètres par défaut de la machine

L’utilisateur standard (User0) préfère enregistrer ses fichiers localement sur le lecteur C:, annulant ainsi le paramètre de niveau machine de l’administrateur.

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

Explication : Étant donné que cette commande est exécutée sans le commutateur -PerMachine, elle s’applique au niveau utilisateur. Comme les paramètres de niveau utilisateur ont une priorité plus élevée que les paramètres de niveau machine, les enregistrements de User0 seront désormais enregistrés dans C:\Users\User0\ SessionRecordings et s’arrêteront après 60 minutes.

Exemple 4 : Annulation spécifique à la session

Lors d’un enregistrement spécifique, User0 doit temporairement enregistrer le fichier sur un partage réseau (\\fileshare\temp) et limiter la durée à 15 minutes, annulant ainsi les paramètres utilisateur et machine.

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

Explication : Paramètres passés directement à Start-SessionRecording pour créer une annulation au niveau de la session, qui a la priorité absolue la plus élevée et n’est valide que pour cette instance d’enregistrement unique. La prochaine session d’enregistrement reviendra à la configuration utilisateur ou machine.

Vérification de la configuration

Utilisez le Get-SessionRecordingConfiguration commandlet pour afficher les valeurs configurées actuellement et le paramètre effectif final :

Get-SessionRecordingConfiguration

Explication : Cette commande affiche le résultat de l’application de la hiérarchie (Session > Utilisateur > Machine), fournissant les paramètres actuellement utilisés par l’utilisateur exécutant la commande.

Effacement de la configuration

Utilisez le Clear-SessionRecordingConfiguration commandlet pour supprimer les paramètres personnalisés, permettant à l’agent de revenir à la configuration de priorité supérieure suivante.

  • Effacer les paramètres utilisateur spécifiques :

    Si User0 souhaite arrêter d’enregistrer des fichiers dans C:\Users\User0\SessionRecordings et rétablir les paramètres personnalisés à la valeur par défaut, il exécuterait :

    Clear-SessionRecordingConfiguration -StoragePath - MaximumDurationInMinutes

Explication : Cela efface les valeurs StoragePath et MaximumDurationInMinutes de l’étendue Utilisateur.

  • Effacer toutes les configurations au niveau de la machine (nécessite des privilèges d’administrateur) :

    Clear-SessionRecordingConfiguration -PerMachine -ClearAll

Explication : Cette commande nécessite des privilèges administratifs (-PerMachine) et efface toutes les configurations personnalisées définies au niveau de la machine.

Changer le type de déploiement de l’agent

L’agent d’enregistrement de session prend en charge deux modes de déploiement distincts :

  • Mode de déploiement de base : Cette méthode légère permet d’enregistrer les sessions actives localement sous forme de fichiers MP4 sans déployer de composants backend. Ce mode est actif lorsque l’adresse du serveur d’enregistrement de session est définie sur localhost.
  • Mode de déploiement standard : Il s’agit du déploiement traditionnel, géré de manière centralisée, où l’agent se connecte à un serveur d’enregistrement de session. Ce mode offre une évolutivité élevée et des fonctionnalités avancées. Ce mode est actif lorsque l’adresse du serveur d’enregistrement de session est définie sur le nom de domaine complet (FQDN) du serveur.

Le mode de fonctionnement est déterminé par la valeur Serveur d’enregistrement de session configurée dans les propriétés de l’agent d’enregistrement de session ou dans le registre Windows.

Méthode 1 : Utilisation des propriétés de l’agent d’enregistrement de session

Vous pouvez changer de mode manuellement sur un VDA spécifique.

  1. Connectez-vous au VDA où l’agent d’enregistrement de session est installé.

  2. Dans le menu Démarrer, choisissez Propriétés de l’agent d’enregistrement de session.

  3. Cliquez sur l’onglet Connexions.

  4. Modifiez la valeur dans le champ Serveur d’enregistrement de session :
    1. Mode de déploiement de base : Entrez localhost.
    2. Mode de déploiement standard : Entrez le FQDN de votre serveur d’enregistrement de session.
  5. Cliquez sur OK pour enregistrer les modifications.

Méthode 2 : Utilisation du registre Windows ou d’une stratégie de groupe

Pour les déploiements à grande échelle, vous pouvez configurer le paramètre directement dans le registre Windows, généralement déployé via un objet de stratégie de groupe (GPO).

  • Clé de registre : HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Agent\
  • Nom de la valeur : SmAudServerName
  • Données de la valeur :

    • Pour le mode de déploiement de base : Définissez la valeur sur localhost.
    • Pour le mode de déploiement standard : Définissez la valeur sur le FQDN de votre serveur d’enregistrement de session.

    Remarque :

    Considérations clés pour le changement de mode

    • L’agent d’enregistrement de session lit la valeur de configuration uniquement au début d’une session. Toute modification du mode de déploiement prendra effet lors de la prochaine nouvelle session lancée sur le VDA.

    • Il est fortement recommandé de ne pas changer de mode tant qu’il y a des sessions d’enregistrement actives ou en cours. Attendez que tous les enregistrements actifs s’arrêtent pour éviter les problèmes de cohérence des données.

Gérer les fichiers d’enregistrement

L’enregistrement de session fournit un outil local, SRAgentTool.exe, pour vous aider à gérer les fichiers d’enregistrement. L’outil offre les fonctionnalités suivantes :

  • Récupérer les enregistrements MP4 corrompus : Répare les fichiers MP4 illisibles en raison de situations anormales, telles qu’un plantage inattendu du processus graphique.

  • Vérifier l’intégrité des enregistrements MP4 : Vérifie si un fichier d’enregistrement a été altéré pour garantir son authenticité.

Vous pouvez accéder à l’outil dans le répertoire suivant : <Session RecordingAgent installation path>\Bin.

Afficher les instructions d’utilisation

Pour afficher les informations d’aide et les instructions d’utilisation de l’outil, exécutez la commande suivante dans PowerShell ou l’invite de commande :

.\SRAgentTool.exe --help

Ou

.\SRAgentTool.exe -h

manage-deployment

Récupérer les enregistrements corrompus

Si un fichier d’enregistrement ne peut pas être lu, utilisez la commande de récupération pour tenter une réparation. Commande :

.\SRAgentTool.exe --recover <path_to_mp4>

Sortie :

  • Succès : L’outil affiche Récupération réussie et indique le chemin du fichier nouvellement récupéré (généralement suffixé par _recover.mp4).

    manage-deployment

  • Aucune récupération nécessaire : Si le fichier est déjà lisible, l’outil affiche Le fichier peut être lu normalement, pas besoin de récupérer.

    manage-deployment

Vérifier l’intégrité de l’enregistrement

Pour vérifier qu’un fichier d’enregistrement n’a pas été modifié, utilisez la commande de validation pour vérifier sa signature SHA512.

Commande : .\SRAgentTool.exe --valid <path_to_mp4>

Sortie :

  • Valide : La signature sha512 correspond avec succès.

    manage-deployment

  • Altéré : La signature sha512 ne correspond pas.

    manage-deployment

  • Fichier invalide : Le fichier n’est pas un fichier mp4 valide.

    manage-deployment