スクリプトを自動化すると、Management Console 内の安全なストレージに暗号化されたバッチ、PowerShell、またはシェル スクリプトのアップロードなど、繰り返しのタスクにかかる時間を節約できます。
リモートセッションでは、保存したスクリプトをメニューから選択し、ワンクリックで実行を開始することができます。
また、メンテナンスとサポートを標準化しながら解決までの時間を短縮し、節約した時間を重要なタスクや他のサポート リクエストの解決により集中させることができます。
OneClick リモート スクリプト実行により、生産性を回復し、より多くのお客様をサポートすることができます。
OneClickのリモートスクリプト実行 - 紹介ビデオ
条件
スクリプトをManagement Consoleにアップロードするには、次の要件を満たす必要があります。 次のすべてを満たしていることを確認してください。
- 有効な TeamViewerサブスクリプション
- すでに作成され、現在のデバイスでローカルに保存されているスクリプト (Management Consoleにスクリプトをアップロードする予定のもの)
- スクリプトのファイルサイズは100kB未満
スクリプトのアップロード方法
スクリプトをアップロードするには、次の手順に従ってください。
- Management Consoleにログインします: https://login.teamviewer.com/。
- サイドメニューの左上にある スクリプトをクリックします。
- +スクリプトの追加をクリックして、スクリプトをアップロードします。
- すでにいくつかのスクリプトをアップロードしている場合は、それらが表に表示されます。
- スクリプト ファイルを選択し、専用フィールドに必要な情報を入力して、保存をクリックします。
管理者として実行
スクリプトを管理者として実行する場合は、このボックスにチェックを入れます。スクリプトが、管理者権限(Windowsの昇格モード)を必要とするコマンドを1つでも使用している場合は、管理者として実行をチェックする必要があります。
スクリプトを開始すると、実行の開始時にプロンプトが 1 回表示され、許可 (ログインしたユーザーが既に管理者権限を持っている場合) または管理者の資格情報 (ログインしたユーザーが管理者権限を持っていない場合) を求められます。 スクリプトでコマンドが使用される頻度やタイミングに関係なく (長時間実行されるタスクなど)、これは最初に 1 回だけ表示されます。
⚠警告:
- TeamViewer (Classic)は、デバイス自体にインストールする必要があります。 TeamViewer (Classic) を実行のみ(1 回のみ使用)モードで使用している場合、または QuickSupport を使用している場合、セッションを介して UAC プロンプトを表示できないため、管理者権限を使用してスクリプトを実行することは現在できま せん。
- 管理モードのスクリプトは、Linuxではまだサポートされていません。
スクリプトの種類
上記を入力したら、次はスクリプトのアップロードボタンでスクリプトをアップロードします。現在、以下のスクリプトタイプがサポートされています。
Windows
- Powershell (.ps1)
- Batch (.bat, .cmd)
macOS
Linux
スクリプトの更新方法
既存のスクリプトを修正または削除するには、目的のスクリプトにマウスを合わせます。該当するスクリプトの右側に、鉛筆のアイコンとゴミ箱のアイコンが表示されます。これらのアイコンにより、スクリプトを編集または削除することができます。
スクリプトが変更された場合(新しいバージョンのスクリプトがアップロードされたか、情報が変更されたか)、新しいデータが保存されます。古いスクリプトのデータは削除されます。
スクリプトの実行方法
前提条件
スクリプトを使用してタスクを自動化するには、次の要件を満たす必要があります。 次のすべてを満たしていることを確認してください。
- 有効な TeamViewerサブスクリプションを持っていること
- 両方のマシンでTeamViewer (Classic) 14(またはそれ以上)を実行していること
- ライセンスアカウントでTeamViewer (Classic) クライアントにログインしている必要があります(そうでない場合は、そのセッションでスクリプトが表示されません)
- リモートマシンで実行するスクリプトは、リモートマシンのオペレーティングシステムに適しているとマークされている必要があります
- Windowsの場合:リモート側のTeamViewer (Classic) クライアントがインストールされている必要があります(「実行専用」モードでは動作しません)。これは、管理者権限を必要とするスクリプトを実行するときに、接続中のクライアントにUACプロンプトを表示することができません
- リモートシステムからクラウドストレージへのHTTP接続が可能であること
スクリプトの実行
スクリプトを実行するには、リモートデバイスに TeamViewer (Classic) 接続を確立し、以下の手順 に従います。
- スクリプトメニューを開きます。
- Windowsの場合:クライアントのツールバーのアクションを開き、スクリプト ボタンをクリックしてメニューを開きます。
- macOSの場合:ツールバーの右側にあるスクリプトをクリックします。
- ドロップダウン メニューには、リモート マシンのオペレーティング システムと互換性のある、アップロードされたすべてのスクリプトが表示されます。
- コンテキストメニューをクリックして、リモートマシンで実行するスクリプトを選択します。
- リモートユーザーは、スクリプト実行要求ダイアログを受け入れる必要があります。受け入れられると、スクリプトはクラウドからリモート マシンに直接ダウンロードされ、復号化されて開始されます。
- リモート側では、現在の状態を示すいくつかの通知が表示されます。
- スクリプトに管理者権限が必要な場合は、許可を求めるダイアログが表示されます。 これはセッションごとに 1 回だけ表示されます。
無人デバイスの権限管理
⚠注意:14.2では許可設定が変更されています。TV 14.0または14.1を使用している場合は、以下の項目をご覧ください。
デフォルトでは、リモート側のユーザーが実行リクエストを承認した場合にのみ、スクリプトが実行されます。無人端末でスクリプトを実行しなければならない場合や、ユーザーがリクエストを受け入れることができない場合、リクエストを完全に無効にするか、新しいアクセス制御によって常にスクリプトの実行を拒否するように設定することができます。
アクセス許可は、着信接続と発信接続の両方に対して定義できます。 この設定は、管理者権限が有効な場合にのみ変更できます。つまり、この設定を使用すると、会社のIT部門以外の従業員によるスクリプトの実行を制限することができます。
アクセス制御が選択されている場合、以下のデフォルト値が設定されます。
カスタム設定では、どの値を使用するかを自分で定義することができます。
セッションで許可されるアクセス制御は、接続元端末と接続先端末の両方の設定に依存します。アクセス制御が異なる場合、2つのうち最も制限の厳しい設定が使用されます。
Windows でアクセス制御を管理する
Windows でアクセス制御権限を確認または変更するには:
- TeamViewer (Classic)アプリの右上隅にある歯車アイコン(⚙)をクリックします。
- 詳細➜ 「このコンピュータへの接続の詳細設定」または「他のコンピュータへの接続の 詳細設定」に移動します。
- アクセス制御で目的の設定を選択し、OKをクリックします。
macOSでアクセス制御を管理する
macOSでアクセス制御権限を確認または変更するには:
- TeamViewer (Classic)を開きます。
- 画面の左上隅にある TeamViewerをクリックし、環境設定 を選択します。
- 詳細設定をクリックし、「このコンピューターへの接続に関する 詳細 設定」または「他のコンピューターへの接続に関する詳細設定」に移動します。
- アクセス制御で、目的の設定を選択し、OKをクリックします。
Linuxでアクセス制御を管理する
Linuxでアクセス制御権限を確認または変更するには:
- TeamViewer (Classic)を開きます。
- TeamViewer (Classic) オプションにアクセスします。
- 詳細設定をクリックし、「このコンピュータへの接続の詳細設定」または「他のコンピューターの詳細設定」に移動します。
- アクセス制御で、目的の設定を選択し、OKをクリックします。
📌注意:Linuxデバイスからスクリプトを実行することはまだできないため、このコンピュータへの接続に関する詳細設定は、現在Linuxで利用可能な唯一のオプションです。
TeamViewer ポリシーによるアクセス制御の管理
TeamViewerポリシーからアクセス制御設定を管理することもできます。 これにより、一度に複数のデバイスで同じ設定に影響を与えることができます。
TeamViewerポリシーを作成する方法は、こちらの記事「設定ポリシーの作成方法」をご確認ください。ポリシーが作成されると、以下のことが可能になります。
- アクセス制御 (着信接続)またはアクセス制御 発信接続)をポリシーに追加
- スクリプトの実行の設定を管理
保存すると、TeamViewerポリシーの割り当てを使用してポリシーを割り当てることができます。
TeamViewerポリシーの作成と配布の詳細については、TeamViewerポリシーの作成と展開の詳細については、次の記事を参照してください。
セッション内でスクリプトが使用できない場合
セッション中にスクリプトを実行できない場合、スクリプト メニューはグレー表示されます。 スクリプトが利用できない理由を確認するには、スクリプトメニューの上にマウスを置きます。 以下に例を示します。
Windows
macOS
スクリプト作成の最善の方法
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のドキュメントを参照してください。