ナレッジベース
SCALE 自動化言語
SCALE(Simple Cross-Platform Agent Language for Extensibility)は、TeamViewer のエンドポイント管理およびデバイス運用のためのクロスプラットフォーム自動化言語です。Windows、macOS、Linux環境において、診断、修復、管理タスクを実行するための一貫した方法を提供します。組み込みエージェント機能、フロー制御、構造化出力、オペレーティングシステムとの連携機能を組み合わせることで、SCALE はエンドポイントタスクを統制された予測可能な方法で自動化できるよう支援します。SCALE は TeamViewer の自動化ワークフロー全体で活用されており、Tia のトラブルシューティング機能で提供される承認済みツールにも採用されています。
この記事は、すべての TeamViewer ONE(Standard、Advanced、Enterprise)、Premium、Corporate、および Tensor ライセンス保有者を対象としています。
SCALE とは
SCALE は、エンドポイント管理のために設計された専用の自動化言語です。これにより、組織は管理デバイス上で診断、修復、情報収集、および運用ワークフローを直接実行できます。
SCALE は以下を提供します:
- Windows、macOS、Linux に対応したクロスプラットフォーム実行
- エンドポイントデータおよびデバイス機能への一貫したアクセス
- 自動化ワークフローで利用可能な構造化出力
- 事前定義されたロジックとガバナンスメカニズムによる統制された実行
TeamViewer において、SCALE はエンドポイント自動化の基盤として利用されており、Tia やその他の管理ワークフローを通じて提供される多くの診断および修復ツールに活用されています。
背景
SCALE はもともと 1E によって開発され、Digital Employee Experience(DEX)のエンドポイント自動化を支えてきました。TeamViewer による 1E の買収に伴い、SCALE は TeamViewer の一部となり、現在もプラットフォーム全体のエンドポイント自動化機能の基盤として機能し続けています。
SCALE の仕組み
SCALE は意図的にコンパクトに設計されており、エンドポイント自動化を安全かつ予測可能に実行するために必要な機能のみを含んでいます。限定的で明確に定義された言語仕様により、不必要な複雑さを抑えながら、統制された実行を支援します。承認済みツールと事前定義されたアクションを活用することで、SCALE は予測可能で統制された自動化ワークフローを実現します。
この言語は 4 つの主要な機能領域を中心に構成されています。
フロー制御
SCALE は、以下のような構文を通じて条件分岐と反復処理をサポートします:
IF / ELSE / ENDIFFOREACH
これらの構文により、ツールは条件を評価し、必要に応じて複数の項目を処理できます。
クリーンターミネーション
ツールは、以下のようなコマンドを使用して明示的に実行を終了できます:
EVALUATERETURNNOCONTENTERRORNOTIMPLEMENTED
これらのコマンドにより、すべての実行を明確かつ定義された状態で終了させることができます。
シェルブリッジ(Shell Bridge)
一部の自動化タスクでは、オペレーティングシステム固有のコマンドでのみ利用できる機能が必要になる場合があります。そのような場合、承認済みツールは Windows では PowerShell、Linux や macOS ではシェルコマンドなどの機能を活用できます。
これらのコマンドは、事前定義されたツールロジックの一部として実行される一方で、SCALE が提供するガバナンス、実行制御、および構造化された結果処理の仕組みを維持します。
エージェントメソッド
SCALE には、クロスプラットフォーム対応の組み込みエージェントメソッドのライブラリが用意されています。これにより、サポート対象のオペレーティングシステム間で一貫した方法でデバイス情報を取得し、各種操作を実行できます。
SCALE インストラクション例
次の診断用インストラクションは、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;
この例では:
- PowerShell コマンドがネットワーク構成データを取得します。
- 結果は変数に保存されます。
- ツールはデータが返されたことを検証します。
- 構造化された出力が呼び出し元に返されます。
構造化された結果
SCALE は、一般的なスクリプトパターンと SQL に類似したデータ処理機能を組み合わせています。これにより、データをエンドポイント上でフィルタリングおよび加工したうえで、結果を返すことができます。
その結果、ツールはコマンドの生出力ではなく、構造化された情報を返します。各ツールがあらかじめ定義された返却スキーマに基づいてデータを出力するため、Tia はツール結果を一貫して解釈でき、曖昧さを減らし、信頼性の高いトラブルシューティングワークフローを支援できます。
オペレーティングシステムコマンドとの統合
必要に応じて、SCALE ツールは内部的にオペレーティングシステム固有のコマンドを実行できます。
例:
Windows 上の PowerShell コマンド
Linux 上のシェルコマンド
macOS 上のシェルコマンド
基盤となるコマンドはオペレーティングシステムによって異なる場合がありますが、SCALE により、ツールの返却スキーマで定義された統一フォーマットの結果が提供されます。
SCALE と Tool Catalog
Tia のトラブルシューティング機能記事では、Tia で利用可能な承認済みの診断および修復ツールを紹介しています。ツール定義、想定される入力および出力、実行動作は、利用可能になる前に事前に定義・管理されます。これにより、一貫性、トレーサビリティ、および運用管理を確保するのに役立ちます。
SCALE は、これらのツールを支える実行言語を提供します。SCALE と Tool Catalog を組み合わせることで、制御された一貫性のあるトラブルシューティングワークフローが可能になります。
ガバナンスと制御
SCALE は承認済みツールで使用される実行言語を提供しますが、利用可能なツールを決定するものではありません。利用可能なツールは Tool Catalog の承認プロセスによって管理され、事前定義された仕様に従って実行されます。
ツールのガバナンスとツールの実行を分離することで、以下を支援します:
- 運用上の監視
- 一貫性のある実行
- トレーサビリティ
- 統制された自動化
承認済みツールと事前定義された出力を使用することで、組織はエンドポイント自動化活動に対する可視性と統制を強化できます。
公式ドキュメント
SCALE に関する技術リファレンス情報については、公式の SCALE documentation を参照してください。