快捷远程脚本执行 - 自动化脚本

无评分

本文适用于具有 TeamViewer 许可订阅计划的 TeamViewer 用户。

常规

  • 通过自动化脚本节省重复性任务的时间。将加密的批处理,PowerShell或shell脚本上载到管理控制台中的安全存储中。
  • 在远程会话期间,您可以从菜单中选择已保存的脚本,然后只需单击一下即可开始执行。
  • 标准化维护和支持,同时缩短解决时间。
  • 使用您节省的时间更多地关注重要任务并解决其他支持请求。
  • 重新获得生产力并帮助更多客户。

OneClick远程脚本执行 - 简介视频

在TeamViewer管理控制台中上载脚本

您要在会话中使用的所有脚本都需要在加密到云存储的TeamViewer管理控制台中上载。

请使用您的TeamViewer帐户登录以开始。

TeamViewer管理控制台的先决条件

您必须满足一些先决条件,以便您可以使用脚本自动完成任务。请确保您满足所有要求:

  • 对于脚本用法,您必须拥有TeamViewer 14(或更高版本)的有效许可证。
  • 脚本可以使用并保存在文件中的本地或网络文件夹中。
  • 脚本文件大小小于100 kB。

在TeamViewer管理控制台中上载过程

您可以通过单击左上角“主页”下的“脚本”菜单项在管理控制台中管理脚本。

script.png

如果您不熟悉使用脚本,则可以使用“添加脚本”按钮从信息页面开始添加脚本。

add script.png

如果您已经上传了一些脚本,它们将显示在表格中。

Script3.png

表顶部的“添加脚本”按钮提供了一个新菜单,用于添加有关脚本的一些信息并选择脚本文件。

add script - details.png

名称和描述

您可以为脚本添加简短名称和更长有意义的描述。该名称将用于会话中的菜单,而描述将显示为脚本菜单条目的工具提示,以便您可以提供有关脚本功能的一些信息。

如果您不添加任何名称,则脚本名称(不包含文件结尾)将在文件选择时作为默认名称。

操作系统

通过选择操作系统,只会显示会话菜单中的那些脚本,这些脚本可以在您连接的远程机器操作系统上执行。

目前支持Windows,macOS和Linux

以管理员身份运行

如果您的脚本至少使用一个命令,该命令需要管理权限(Windows上的提升模式),则应检查“以管理员身份执行”。

当您启动脚本时,在执行开始之前只会询问一次权限(如果登录用户已具有管理权限)或管理员凭据(如果登录用户没有管理员权限),无论频率如何或在脚本中使用此类命令时(例如,对于长时间运行的任务)。

(warning)目前,您只能在已安装的TeamViewer上以管理员身份执行脚本。在Windows“仅运行(一次性使用)”选项或QuickSupport上,它是不可能的,因为UAC提示无法在客户端显示。(warning)Linux尚不支持管理模式下的脚本。

脚本类型

目前支持以下脚本类型

  • 在Windows上
    - Batch(.bat,.cmd)
    - PowerShell(.ps1)
  • 在macOS上
    - Shell(.sh)
  • 在Linux上
    - Bash(.sh)

保存

如果单击“保存”按钮,则会将脚本文件加密上载到云存储。您的脚本数据和脚本文件的链接也以加密方式存储。

更新

您可以通过在脚本项的上下文菜单中选择“编辑”或“删除”功能来修改和删除现有脚本。如果您将鼠标悬停在表格末尾,则会显示上下文菜单:

Script5.PNG

如果修改现有脚本文件或脚本数据,则会保存更改的文件或数据,而不是旧数据。旧的脚本文件将从云存储中删除。

在会话中执行脚本

如果启动TeamViewer会话,则可以在新脚本菜单中访问脚本。

先决条件

在使用脚本自动执行任务之前,必须满足一些先决条件。请确保您满足所有要求:

  • 对于脚本用法,您必须拥有TeamViewer 14(或更高版本)的有效许可证并安装此版本(适用于Linux TeamViewer 14.2或更高版本)。
  • 您连接的远程系统必须具有TeamViewer版本14。
  • 您必须使用许可帐户登录TeamViewer客户端(否则您的脚本将不会显示在会话中)。
  • 要在远程计算机上运行的脚本必须标记为适合远程计算机操作系统。
  • 对于Windows:必须安装远程端的TeamViewer客户端(不以“仅运行”启动)。否则,在运行需要管理权限的脚本时,连接客户端将无法看到UAC提示。
  • 必须能够从远程系统到云存储的HTTP连接。

(warning)不幸的是,使用新的脚本执行访问控制,我们不得不打破14.0 / 1和14.2之间的兼容性。要确保可以使用脚本,请确保您已安装双方,客户端和服务器,安装了TeamViewer 14.0 / 14.1或14.2。连接到14.2的版本14.0 / 14.1或反之亦然。

脚本执行

  • 在满足上面列出的先决条件后建立TeamViewer连接。
  • 打开脚本菜单。
    - Windows:在客户端工具栏中,转到“操作”,然后单击“脚本”按钮以打开菜单。
    Script6.png- macOS:在菜单栏中转到脚本。
    script7.png
  • 您为远程机器操作系统上传的所有脚本都将显示在显示的菜单中。
  • 单击上下文菜单,选择要在远程计算机上运行的脚本。
  • 每个会话一次:远程用户必须接受脚本执行请求对话。
  • 该脚本从云存储下载到远程计算机,解密并启动。
  • 如果脚本需要管理权限,则会弹出一个对话框以请求权限。
  • 在远程端,显示当前状态的一些通知。

确认请求处理(特别是对于无人值守的设备)

(warning)权限设置已在14.2中更改。如果您仍在使用TV 14.0或14.1,请参阅以下部分。

默认情况下,只有远程端的用户接受执行请求时才能执行脚本。对于无人值守的设备,没有用户可以确认该请求。

为此,您可以在选项/首选项以及TeamViewer策略中禁用此TeamViewer安装的请求对话框,或始终通过新的访问控制拒绝脚本执行。

传入会话不仅可以定义权限,还可以定义传出连接。如果您在计算机上拥有管理权限,则只能更改此设置,此设置可用于限制公司的非IT员工的脚本执行。

如果选择访问控制,则会设置以下默认值:

访问控制 执行脚本
完全访问 确认后
全部确认

确认后

查看和显示

被拒绝

自定义设置

确认后

拒绝呼入的远程控制会

被拒绝

 

对于自定义设置,您可以自己定义应使用哪个值:

脚本执行的值 描述
拒绝 此设备上不允许拒绝执行脚本。
确认后

只有在远程端执行确认后才允许执行脚本。

允许

此设备上始终允许执行脚本,无需任何其他确认。

 

本地和远程TeamViewer的访问控制被组合在一起,这意味着始终使用双方最受限制的值。

Windows

要检查或调整Windows上的权限,请在TeamViewer客户端中选择选项>高级,然后选择“连接到此计算机的高级设置”或“连接到其他计算机的高级设置”。

advanced - access control.png

macOS

要检查或调整macOS上的权限,请在TeamViewer Client中选择“首选项”,选择“高级”,然后选择“高级设置”以连接到此计算机,或选择“高级”设置以连接到其他计算机

mac_access_controls.png

Linux

要检查或调整Linux上的权限,请在TeamViewer客户端中选择 - >高级,然后在高级设置中连接到此计算机

您只有与此计算机的连接设置,因为Linux计算机的启动脚本尚不可用。

Linux_access_control.png

管理控制台

现在,还可以通过TeamViewer管理控制台将设置同时分配到多个设备。

只需在管理控制台中定义策略,然后将其分配给“计算机和联系人”列表中的设备即可。

  1. “设计和部署” - >“策略”下定义策略。
    policy-script execution.png
  2. “组”>“工具”>“分配TeamViewer策略”上将策略分配给您的设备

TeamViewer 14.0 / 14.1的权限处理

在选项/首选项中,您可以使用“无需确认而允许脚本执行”设置来禁用此TeamViewer安装的请求对话框。

(warning)TV 14.2及更高版本不再提供此设置。没有自动迁移。

Windows

在Windows上打开TeamViewer客户端,然后转到菜单中的 其他  -> 选项。选择“高级”选项卡,然后向下滚动到“连接到此计算机的高级设置”部分。

advanced - script execution.png

macOS

在macOS上打开TeamViewer客户端并转到菜单中的“首选项”。选择“高级”选项卡,然后向下滚动到“连接到此计算机的高级设置”部分。

检查新设置允许脚本执行而不确认,然后单击“应用”退出。

script9.png

会话中不提供脚本

如果由于某种原因无法在会话中运行脚本,则会显示脚本菜单但已禁用。如果您将鼠标悬停在上方,则会在出现的工具提示中找到原因。

Windows

toolbar - script.png

macOS

script11.png

编写脚本的提示

在macOS上使用'〜'表示路径

在macOS上,您可以使用“〜”来寻址用户的主目录。如果使用管理权限执行脚本,则脚本用户将执行该脚本。因此,'〜'将被/var/root 替换,而不是由登录用户的主目录替换。

此外,在这种情况下不设置$HOME变量。出于这些原因,如果您以管理员身份运行脚本,则不应依赖'〜'和$ HOME。

如果需要创建,复制或下载文件夹或文件,可以使用执行脚本的工作目录,该脚本位于~/Library/Application Support/TeamViewer/Remote Scripting/<script-uuid>下。

执行脚本终止后,将立即删除此目录。

这些文件和文件夹也由root用户创建。如有必要,您可以使用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-ExecutionPolicySet-ExecutionPolicy的文档
版本历史
修订号
6 / 6
上次更新时间:
‎12 九月 2019, 10:03 AM
更新依据:
 
贡献者