Base de connaissance
Langage d’automatisation SCALE
SCALE (Simple Cross-Platform Agent Language for Extensibility) est le langage d’automatisation multiplateforme de TeamViewer pour la gestion des terminaux et les opérations sur les appareils. Il fournit un moyen cohérent d’exécuter des tâches de diagnostic, de remédiation et d’administration sur des appareils Windows, macOS et Linux. En combinant les capacités intégrées de l’agent, le contrôle de flux, les sorties structurées et les intégrations au système d’exploitation, SCALE aide les organisations à automatiser les activités sur les terminaux de manière contrôlée et prévisible. SCALE est utilisé dans l’ensemble des workflows d’automatisation de TeamViewer, y compris les outils approuvés disponibles dans les expériences de dépannage Tia.
Cet article s’applique à tous les détenteurs de licences TeamViewer ONE (Standard, Advanced et Enterprise), Premium, Corporate et Tensor.
Qu’est-ce que SCALE ?
SCALE est un langage d’automatisation spécialement conçu pour la gestion des terminaux. Il permet aux organisations d’exécuter des flux de travail de diagnostic, de remédiation, de collecte d’informations et d’exploitation directement sur des appareils gérés.
SCALE fournit :
- Une exécution multiplateforme sur Windows, macOS et Linux.
- Un accès cohérent aux données des terminaux et aux capacités des appareils.
- Des sorties structurées pouvant être exploitées par les flux de travail d’automatisation.
- Une exécution contrôlée grâce à une logique prédéfinie et à des mécanismes de gouvernance.
Au sein de TeamViewer, SCALE alimente les automatisations des terminaux, y compris de nombreux outils de diagnostic et de remédiation proposés dans Tia et d’autres flux de travail gérés.
Contexte
SCALE a été développé à l’origine par 1E, où il alimente les automatisations des terminaux de l’expérience numérique des employés (DEX). À la suite de l’acquisition de 1E par TeamViewer, SCALE a intégré TeamViewer et continue de servir de fondement aux capacités d’automatisation des terminaux sur l’ensemble de la plateforme.
Fonctionnement de SCALE
SCALE est volontairement compact et n’inclut que les capacités nécessaires pour réaliser l’automatisation des terminaux de manière sûre et prévisible. Sa surface linguistique limitée et bien définie contribue à réduire la complexité inutile et favorise une exécution contrôlée. En s’appuyant sur des outils approuvés et des actions prédéfinies, SCALE permet des workflows d’automatisation prévisibles et gouvernés.
Le langage s’articule autour de quatre domaines principaux.
Contrôle de flux
SCALE prend en charge la prise de décision et l’itération grâce à des structures telles que :
IF / ELSE / ENDIFFOREACH
Ces structures permettent à un outil d’évaluer des conditions et de traiter plusieurs éléments si nécessaire.
Terminaison propre
Un outil peut mettre fin explicitement à l’exécution à l’aide de commandes telles que :
EVALUATERETURNNOCONTENTERRORNOTIMPLEMENTED
Ces commandes permettent de garantir que chaque exécution se termine dans un état clair et bien défini.
Passerelle shell
Certaines tâches d’automatisation nécessitent des capacités du système d’exploitation disponibles uniquement au moyen de commandes spécifiques à la plateforme. Dans ce cas, les outils approuvés peuvent exploiter des capacités telles que PowerShell sous Windows ou des commandes shell sous Linux et macOS.
Ces commandes s’exécutent dans le cadre d’une logique d’outil prédéfinie tout en conservant la gouvernance, les contrôles d’exécution et le traitement structuré des résultats fournis par SCALE.
Méthodes d’agent
SCALE comprend une bibliothèque de méthodes d’agent multiplateformes intégrées qui peuvent lire les informations de l’appareil et exécuter des actions de manière cohérente sur les systèmes d’exploitation pris en charge.
Exemple d’instruction SCALE
L’instruction de diagnostic suivante récupère les informations de configuration réseau d’un appareil Windows :
// Diagnostic instruction — read-only by design@result = Scripting.RunText(Language: "PowerShell",Text: "Get-NetIPConfiguration | ConvertTo-Json");EVALUATE @result; // stop early if nothing returnedRETURN @result;
Dans cet exemple :
- Une commande PowerShell récupère les données de configuration réseau.
- Le résultat est stocké dans une variable.
- L’outil valide que des données ont bien été renvoyées.
- La sortie structurée est renvoyée à l’appelant.
Résultats structurés
SCALE combine des modèles de script familiers avec des capacités de traitement de données de type SQL. Cela permet de filtrer et de structurer les données sur le terminal avant leur renvoi.
Par conséquent, les outils renvoient des informations structurées plutôt qu’une sortie de commande brute. Comme chaque outil renvoie des données selon un schéma de retour défini, Tia peut interpréter les résultats des outils de manière cohérente, réduire les ambiguïtés et prendre en charge des flux de travail de dépannage fiables.
Intégration avec les commandes du système d’exploitation
Lorsqu’un besoin l’exige, un outil SCALE peut exécuter en interne des commandes spécifiques au système d’exploitation.
Exemples :
- Commandes PowerShell sous Windows
- Commandes shell sous Linux
- Commandes shell sous macOS
Bien que les commandes sous-jacentes puissent différer selon les systèmes d’exploitation, SCALE garantit que les résultats sont renvoyés dans un format cohérent défini par le schéma de retour de l’outil.
SCALE et le Catalogue d’outils
L’article sur les capacités de dépannage de Tia contient les outils de diagnostic et de remédiation approuvés disponibles pour Tia. Les définitions des outils, les entrées et sorties attendues, ainsi que le comportement d’exécution, sont prédéfinis et régis avant leur mise à disposition. Cela contribue à garantir la cohérence, la traçabilité et le contrôle opérationnel.
SCALE fournit le langage d’exécution qui alimente ces outils. Ensemble, SCALE et le catalogue d’outils permettent des flux de travail de dépannage contrôlés et cohérents.
Gouvernance et contrôle
SCALE fournit le langage d’exécution utilisé par les outils approuvés, mais ne détermine pas quels outils sont disponibles. Les outils disponibles sont régis par le processus d’approbation du Catalogue d’outils et s’exécutent selon leurs définitions prédéfinies.
Cette séparation entre la gouvernance des outils et leur exécution favorise une :
- Supervision opérationnelle
- Exécution cohérente
- Traçabilité
- Automatisation contrôlée
En utilisant des outils approuvés et des sorties prédéfinies, les organisations peuvent conserver une meilleure visibilité et un meilleur contrôle sur les activités d’automatisation des terminaux.
Documentation officielle
Pour des informations techniques de référence sur SCALE, veuillez consulter la documentation officielle de SCALE.