Skip to main content

ナレッジベース

リモートセッション中にTeamViewer(Classic)でスクリプトを実行する方法

最終変更: 2024/03/18

スクリプトを自動化すると、Management Console 内の安全なストレージに暗号化されたバッチ、PowerShell、またはシェル スクリプトのアップロードなど、繰り返しのタスクにかかる時間を節約できます。

リモートセッションでは、保存したスクリプトをメニューから選択し、ワンクリックで実行を開始することができます。

また、メンテナンスとサポートを標準化しながら解決までの時間を短縮し、節約した時間を重要なタスクや他のサポート リクエストの解決により集中させることができます。

OneClick リモート スクリプト実行により、生産性を回復し、より多くのお客様をサポートすることができます。

この記事は、Business, Premium, Corporate  またはTensorライセンスをお持ちのすべてのお客様に該当する内容です

OneClickのリモートスクリプト実行 - 紹介ビデオ

条件

スクリプトをManagement Consoleにアップロードするには、次の要件を満たす必要があります。 次のすべてを満たしていることを確認してください。

  • 有効な TeamViewerサブスクリプション
  • すでに作成され、現在のデバイスでローカルに保存されているスクリプト (Management Consoleにスクリプトをアップロードする予定のもの)
  • スクリプトのファイルサイズは100kB未満

スクリプトのアップロード方法

スクリプトをアップロードするには、次の手順に従ってください。

  1. Management Consoleにログインします: https://login.teamviewer.com/。
  2. サイドメニューの左上にある スクリプトをクリックします。
  3. +スクリプトの追加をクリックして、スクリプトをアップロードします。
    • すでにいくつかのスクリプトをアップロードしている場合は、それらが表に表示されます。
  4. スクリプト ファイルを選択し、専用フィールドに必要な情報を入力して、保存をクリックします。
Image

管理者として実行

スクリプトを管理者として実行する場合は、このボックスにチェックを入れます。スクリプトが、管理者権限(Windowsの昇格モード)を必要とするコマンドを1つでも使用している場合は、管理者として実行をチェックする必要があります。

スクリプトを開始すると、実行の開始時にプロンプトが 1 回表示され、許可 (ログインしたユーザーが既に管理者権限を持っている場合) または管理者の資格情報 (ログインしたユーザーが管理者権限を持っていない場合) を求められます。 スクリプトでコマンドが使用される頻度やタイミングに関係なく (長時間実行されるタスクなど)、これは最初に 1 回だけ表示されます。

🚨警告:

  • TeamViewer (Classic)は、デバイス自体にインストールする必要があります。 TeamViewer (Classic) を実行のみ(1 回のみ使用)モードで使用している場合、または QuickSupport を使用している場合、セッションを介して UAC プロンプトを表示できないため、管理者権限を使用してスクリプトを実行することは現在できま せん。
  • 管理モードのスクリプトは、Linuxではまだサポートされていません。

スクリプトの種類

上記を入力したら、次はスクリプトのアップロードボタンでスクリプトをアップロードします。現在、以下のスクリプトタイプがサポートされています。

Windows

  • Powershell (.ps1)
  • Batch (.bat, .cmd)

macOS

  • Shell (.sh)

Linux

  • Bash(.sh)

スクリプトの更新方法

既存のスクリプトを修正または削除するには、目的のスクリプトにマウスを合わせます。該当するスクリプトの右側に、鉛筆のアイコンとゴミ箱のアイコンが表示されます。これらのアイコンにより、スクリプトを編集または削除することができます。

Image

スクリプトが変更された場合(新しいバージョンのスクリプトがアップロードされたか、情報が変更されたか)、新しいデータが保存されます。古いスクリプトのデータは削除されます。

スクリプトの実行方法

前提条件

スクリプトを使用してタスクを自動化するには、次の要件を満たす必要があります。 次のすべてを満たしていることを確認してください。

  • 有効な TeamViewerサブスクリプションを持っていること
  • 両方のマシンでTeamViewer (Classic) 14(またはそれ以上)を実行していること
  • ライセンスアカウントでTeamViewer (Classic) クライアントにログインしている必要があります(そうでない場合は、そのセッションでスクリプトが表示されません)
  • リモートマシンで実行するスクリプトは、リモートマシンのオペレーティングシステムに適しているとマークされている必要があります
  • Windowsの場合:リモート側のTeamViewer (Classic) クライアントがインストールされている必要があります(「実行専用」モードでは動作しません)。これは、管理者権限を必要とするスクリプトを実行するときに、接続中のクライアントにUACプロンプトを表示することができません
  • リモートシステムからクラウドストレージへのHTTP接続が可能であること

スクリプトの実行

スクリプトを実行するには、リモートデバイスに TeamViewer (Classic) 接続を確立し、以下の手順 に従います。

  1. スクリプトメニューを開きます。
    • Windowsの場合:クライアントのツールバーのアクションを開き、スクリプト ボタンをクリックしてメニューを開きます。
    • macOSの場合:ツールバーの右側にあるスクリプトをクリックします。
    • ドロップダウン メニューには、リモート マシンのオペレーティング システムと互換性のある、アップロードされたすべてのスクリプトが表示されます。
  2. コンテキストメニューをクリックして、リモートマシンで実行するスクリプトを選択します。
  3. リモートユーザーは、スクリプト実行要求ダイアログを受け入れる必要があります。受け入れられると、スクリプトはクラウドからリモート マシンに直接ダウンロードされ、復号化されて開始されます。
    • リモート側では、現在の状態を示すいくつかの通知が表示されます。
    • スクリプトに管理者権限が必要な場合は、許可を求めるダイアログが表示されます。 これはセッションごとに 1 回だけ表示されます。

無人デバイスの権限管理

🚨注意:14.2では許可設定が変更されています。TV 14.0または14.1を使用している場合は、以下の項目をご覧ください。

デフォルトでは、リモート側のユーザーが実行リクエストを承認した場合にのみ、スクリプトが実行されます。無人端末でスクリプトを実行しなければならない場合や、ユーザーがリクエストを受け入れることができない場合、リクエストを完全に無効にするか、新しいアクセス制御によって常にスクリプトの実行を拒否するように設定することができます。

アクセス許可は、着信接続と発信接続の両方に対して定義できます。 この設定は、管理者権限が有効な場合にのみ変更できます。つまり、この設定を使用すると、会社のIT部門以外の従業員によるスクリプトの実行を制限することができます。

アクセス制御が選択されている場合、以下のデフォルト値が設定されます。

Image

カスタム設定では、どの値を使用するかを自分で定義することができます。

Image
Image

スクリプト作成の最善の方法

macOSでパスに「~」を使用する

macOSでは、「~」を使ってユーザーのホームディレクトリを指定できます。管理者権限でスクリプトを実行した場合、スクリプトはrootユーザーによって実行されます。そのため、'~'は/var/rootに置き換えられ、ログインしたユーザーのホームディレクトリには置き換えられません。

さらに、この場合、$HOME変数は設定されません。これらの理由から、管理者としてスクリプトを実行する場合は、「~」と「$HOME」に頼るべきではありません

フォルダやファイルを作成、コピー、ダウンロードする必要がある場合は、~/Library/Application Support/TeamViewer/Remote Scripting/<script-uuid>にある、実行したスクリプトの作業ディレクトリを使用することができます。

このディレクトリは、実行されたスクリプトが終了した直後に削除されます。

これらのファイルやフォルダーもルートユーザーが作成します。必要に応じて、chownコマンドで所有者を変更し、chmodで権限を変更することができます。

正しい改行コードの使用

スクリプトを実行するオペレーティング・システムが解釈できるように、スクリプト・ファイルで正しい改行コードを使用することが重要です。

例えば、Windowsのように「CR LF」を含むスクリプトファイルは、Linuxでは実行できません(「LF」のみを想定)。

よくある質問

リモートマシンではPowerShellスクリプトが実行されず、ローカルでは正常に動作するのはなぜですか?

Windowsでは、Powershellスクリプトの実行がデフォルトで制限されています。そのため、まず実行ポリシーを変更する必要があります。

  • 64ビットマシンでは、現在、コマンドライン用の32ビットプロセスが使用されています。このため、32ビットプロセスの権限を設定する必要があります。

SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe "Set-ExecutionPolicy RemoteSigned".

(この問題は、64 ビット プロセスが使用されるように、後のバージョンで修正される予定です。)

詳細は、Get-ExecutionPolicyおよびSet-ExecutionPolicyのドキュメントを参照してください。