TeamViewer 提供了基于 Web 的 API,您可以通过它来访问数据并控制 TeamViewer 帐户的各项功能。您可以用 API 开发应用程序将TeamViewer 功能融入自己的公司环境,也可以开发每个人都可以使用的应用程序。
本文适用于 TeamViewer (Classic) 所有用户。
想象一下,您需要逐个删除群组内的设备,然后删除群组。当您只有几台设备时,完全没有问题,但是当您有几百台设备时,可能就会很麻烦。我们创建一个脚本,可自动为您删除群组(包括其中的设备),充分利用该 API 技术。您只需提供 API 口令和群组名称即可。本文将向您介绍详细方法。
为详尽描述,我们将使用群组管理和设备管理 API 功能。我们采用了 Windows PowerShell 来实现该解决方案。代码将通过用户口令在您的管理控制台中检索并显示设备和群组,并让您选择要删除的群组。做出选择后,将获得一个整洁的控制台。
请确保您有 TeamViewer 帐户。如果您没有帐户,可在以下网站免费获取: http://login.teamviewer.com
若要创建脚本,请用您的 TeamViewer 帐户登录 TeamViewer 管理控制台,并创建脚本口令。
在控制台中,打开网站右上角的配置文件设置。然后,选择“应用程序”,并点击“创建脚本口令”。填写表格,定义您的口令
• 输入脚本名称
• 输入脚本口令的说明
• 选择脚本口令的权限
• 群组管理 – 查看、创建、删除、编辑和共享群组
• 计算机 & 联系人 – 查看、添加、编辑和删除条目
• 保存脚本口令
现在,将口令保存在安全位置。脚本运行时将要求执行此操作。
$token = Read-Host -Prompt "Paste your account token code here" $bearer = "Bearer",$token $header = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $header.Add("authorization", $bearer) $webrequest = Invoke-RestMethod -Uri "https://webapi.teamviewer.com/api/v1/groups/" -Method Get -Headers $header $machine = Invoke-RestMethod -Uri "Https://webapi.teamviewer.com/api/v1/devices/" -Method Get -Headers $header $i=1 $grpArr = @() ForEach($grp in $webrequest.groups) { Write-Host $i ")" $grp.name " - " $grp.id $grpArr += $grp.id; ForEach($dev in $machine.devices) { If($dev.groupid -eq $grp.id) { Write-Host " " $dev.alias } } $i += 1 } $ig = Read-Host -Prompt "Select the group you will like to remove" ForEach ($dgrp in $machine.devices) { if($dgrp.groupid -eq $grpArr[$ig - 1]) { Write-Host "Delete device: " $dgrp.alias $item = $dgrp.device_id $delete = Invoke-WebRequest -Uri "Https://webapi.teamviewer.com/api/v1/devices/$item" -Method Delete -Headers $header } } Write-Host "Delete group id: " $grpArr[$ig - 1] $gid = $grpArr[$ig - 1] $remove = Invoke-WebRequest -Uri "Https://webapi.teamviewer.com/api/v1/groups/$gid" -Method Delete -Headers $header
将脚本代码复制到您最喜欢的文本编辑器(例如记事本)中,并另存为 .ps1 文件。(test.ps1)
请观看以下视频,了解脚本工作方式的详细信息。
TeamViewer API 是您充分利用管理控制台的有用工具。与编程语言和您的想象力结合,可以让您在日常工作中获得立竿见影的效果。