TeamViewer怎么在Windows上大规模部署?本文将详细介绍如何在Windows上大规模部署TeamViewer,包括模块和部署方法、创建自定义模块、推荐脚本、管理设置以及分配选项等内容。将深入探讨这些主题,以帮助大家更好地理解和掌握大规模部署Windows系统的技巧和策略。
本篇教程介绍了如何在 Windows 上的大规模部署场景中部署 TeamViewer (Classic) Host 和 TeamViewer (Classic) 完整版本。(仅适用于拥有 Corporate 或 Tensor 许可证并运行 TeamViewer (Classic) 14 或更高版本,使用 Remote Management 或已购买 Remote workers 附加组件的客户)
一、模块和部署方法
批量部署软件即所谓的大规模部署,允许管理员一次性向多个设备提供软件和更新。对于Windows 设备,TeamViewer (Classic) 通过四种不同的方法提供大规模部署。
1、模块
可以部署以下两个模块。
(1)TeamViewer (Classic)_Host.msi
(2)TeamViewer (Classic)_Full.msi
注意以下模块不能部署:
(1)QuickSupport,QuickJoin
(2).exe版本
2、部署方法
可以通过四种不同的方法部署TeamViewer (Classic):
(1)通过.bat脚本
(2)通过自己的部署软件
(3)通过GPO
(4) 通过Intune
二、创建自定义模块
对于 Windows部署,将需要创建一个定制版本的TeamViewer (Classic) (=custom module)。可以直接从Management Console “设计与部署”下进行操作。
通过创建自定义模块,将获得两个基本价值:
- 将触发模块定制的 CUSTOMID;
- 将触发账户分配的 APITOKEN。
将在下面的例子中创建一个自定义的TeamViewer (Classic) Host 。
1、登录Management Console ,点击设计与部署菜单;
2、现在点击+图标(添加自定义模块按钮) 并选择Host;
3、自定义模块的外观,选择想应用于模块的 TeamViewer (Classic) 策略,勾选允许账户分配的方框,然后点击保存。
注意: 如果允许账户分配框是
- 勾选 – 在安装结束时不会出现确认账户分配的弹出窗口;
- 不勾选–在安装结束后会出现一个弹出窗口,确认账户分配。
4、将出现CUSTOMCONFIGID 和APITOKEN ,点击 【OK】确认。
5、 刚刚创建的模块将出现在模块列表中。
三、推荐脚本
为了在设备上成功部署TeamViewer (Classic) 们建议使用特定的脚本。接下来将展示推荐使用的两个不同的脚本,并解释每个参数的含义。
1、推荐的脚本
脚本1:这个脚本一次处理所有的部署。
msiexec.exe /i "Path_to\TeamViewer (Classic)_Host.msi" /qn APITOKEN=xxxxxx CUSTOMCONFIGID=xxxxxx ASSIGNMENTOPTIONS="--alias %ComputerName% --grant-easy-access --group-id gxxxxxx"
脚本2:这个脚本分两步处理部署:
- 包的安装;
- 账户分配。
msiexec.exe /i "Path\To\TeamViewer (Classic)_Host.msi" /qn CUSTOMCONFIGID=xxxxxx ping -n 31 127.0.0.1>nul "Path\To\TeamViewer (Classic).exe" assign --api-token xxxxxx --grant-easy-access --group-id gxxxxxx
2、主要参数
接下来主要解释在推荐脚本中使用的参数:
msiexec.exe /i
安装该软件包。
/qn
允许无声安装。
"Path_to/TeamViewer (Classic)_Host.msi "
定义了安装路径,也可以在网络路径上。
CUSTOMCONFIGID=xxxxxx
适用于模块的定制。
APITOKEN=xxxxxx
允许账户分配。
SETTINGSFILE="YOURPATH\yourfilename.tvopt"
应用已经导出的设置。
ASSIGNMENTOPTIONS= (分配选项)
可以在部署中增加各种选项。
--grant-easy-access (授予简易访问权)
如果设置了这个选项,在分配后就会授予简易访问权(与TeamViewer (Classic) 选项的安全标签中的 “授予简易访问权 “选项相同)。
--group-id <ID> (组ID)
如果组的ID是已知的,这个选项是使用–组参数的一个替代方案。这在非常大的客户环境中可能很有用,因为它加快了分配过程。通常情况下,使用–组就足够了。
可以在登录 管理控制台 ,点击所需的组,并检查URL时找到组的ID。在URL的末尾,你会发现 “g/123456789”
注意:
- ID必须以字面的 “g “作为前缀;
- 请去掉”/”,以便获得组ID。
因此,根据上图中的例子,组ID是g123456789。
四、管理设置
在设备上部署TeamViewer (Classic) ,重要的是选择想应用到部署的TeamViewer (Classic) 客户端的哪些设置。强烈建议通过TeamViewer (Classic) 策略来管理设置。TeamViewer (Classic) 策略允许集中控制和管理绝大部分的设置。
1、通过SETTINGSFILE
可以通过SETTINGSFILE应用TeamViewer (Classic) 的设置。设置文件定义了TeamViewer (Classic) 安装的配置。它包含所有想应用于部署的TeamViewer (Classic) 设置。
如果在部署中不使用SETTINGSFILE参数,将安装一个没有任何特定选项的标准TeamViewer (Classic) 版本。
要将SETTINGSFILE应用于部署,将需要:
(1)导出SETTINGSFILE
要导出设置文件,请按照下面指南进行操作:
(2)在命令中插入设置文件参数
要在命令中应用设置文件参数,需要插入以下参数:
SETTINGSFILE="[Path_To]\settings.tvopt"
注意:在这个例子中,将设置文件命名为settings.tvopt – 如果使用了其他名称,需要相应地调整命令。例如:如果将设置文件命名为MySettings.tvopt,将需要使用SETTINGSFILE=”[Path_To]\MySettings.tvopt “命令。
因此,部署命令行可能看起来像这样:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn SETTINGSFILE="[Path_To]\settings.tvopt" CUSTOMCONFIGID=xxxxxx APITOKEN=xxxxxx ASSIGNMENTOPTIONS="--alias %ComputerName% --grant-easy-access"
或像这样:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn SETTINGSFILE="[Path_To]\settings.tvopt" CUSTOMCONFIGID=xxxxxx ping -n 31 127.0.0.1>nul [Path_To]\TeamViewer (Classic).exe assign --api-token xxxxxx --grant-easy-access
五、分配选项
在设备上部署TeamViewer (Classic) ,重要的是选择想应用于部署的分配选项。通过分配选项,可以为部署定义很大范围的参数。将在下面的列表中找到可以使用的所有分配选项和它们各自的行动。
1、作业选项
(1)–alias [<name>]
新设备在计算机和联系人列表中的别名。如果该设备已经在联系人列表中,将不应用别名。该属性可以采用以下值。
(2)–alias (无值)
计算机的别名将是TeamViewer (Classic) ID
(3)–alias hello
计算机的别名将是 “hello”。
(4)未指定别名参数
此计算机的别名将是%computername%。
(5)–alias %systemvariable%
别名将是所使用的系统变量,例如:%username%。
例如:
msiexec.exe /i "[Path_To]TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--alias %systemvariable%"
授予简易访问权:
如果设置了这个选项,那么在分配之后就会授予简易访问权(与TeamViewer (Classic) 选项的安全标签中的 “授予简易访问权 “选项相同)。
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--grant-easy-access"
重新分配:
将设备分配给账户,即使该设备已经被分配给一个账户。
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--reassign"
–reassign参数重置了现有的分配,并重新应用了分配脚本的参数。这可能会产生影响,例如,在初始安装后改变了别名或组的分配。
–组<名>:
将添加设备的组的名称。如果该组不存在,它将被自动创建。如果设备已经存在于计算机和联系人列表中的一个不同的组,它将不会被移到该组。然而,如果使用参数”–reassign”,设备将被移动到此参数中定义的组。
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--group MyGroup"
如果使用自定义host ,则不需要,因为自定义配置中已经定义了一个默认组。
–group-id <ID>:
如果组的id是已知的,这个选项是使用–group参数的一个替代方案。这在非常大的客户环境中可能很有用,因为它加快了分配过程。通常情况下,使用–组就足够了。
可以在登录Management Console ,点击组别并检查URL时找到组别ID。在URL的最后,会发现 “g/12345678″。
注意:
- ID必须以字面的 “g “作为前缀;
- 请删除”/”,以便获得组别ID。
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--group-id g123"
–代理<名称>:<端口>。
代理服务器的网址(仅用于分配),格式为<名称>:<端口>,例如: –proxy yourproxy:3201(链接地址不需要http://)
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--proxy yourproxy:3201 --proxy-user FooBar --proxy-pw mypassword"
–代理用户<名>:
用于对代理进行认证的用户名(仅用于分配)。
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--proxy yourproxy:3201 --proxy-user FooBar --proxy-pw mypass"
–proxy-pw <password>:
用于对代理进行认证的密码(仅用于分配)。
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--proxy yourproxy:3201 --proxy-user FooBar --proxy-pw-base64 bXlwYXNz"
–proxy-pw-base64 <encoded_password>:
与–proxy-pw相同,但密码需要以Base64编码的字符串输入。对有特殊字符的密码很有用。
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Host.msi" /qn APITOKEN=<YOUR_APITOKEN> ASSIGNMENTOPTIONS="--proxy yourproxy:3201 --proxy-user FooBar --proxy-pw-base64 bXlwYXNz"
–监测政策ID <policy_id>:
这个选项只在安装TeamViewer (Classic)_Full时可用。msi 。它指定了Remote Management 监控的策略ID,在分配成功完成后应该应用。这也需要 –patchmanagement-policyid。
例如:
msiexec.exe /i "[Path_To]\TeamViewer (Classic)_Full.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--monitoring-policyid <YOUR_MONITORING_POLICYID> --patchmanagement-policyid <YOUR_PATCHMANAGEMENT_POLICYID>"
–patchmanagement-policyid <policy_id>:
这个选项只在安装TeamViewer (Classic)_Full时可用。msi 。它指定了Remote Management 监控的策略ID,在任务成功完成后应该被应用。这也需要 — 监控-政策ID。
例如:
msiexec.exe /i "Path\To\TeamViewer (Classic)_Full.msi" /qn APITOKEN=<YOUR_APITOKEN> CUSTOMCONFIGID=<YOUR_CONFIGID> ASSIGNMENTOPTIONS="--monitoring-policyid <YOUR_MONITORING_POLICYID> --patchmanagement-policyid <YOUR_PATCHMANAGEMENT_POLICYID>"
六、更新基础设施
为了安全起见,保持基础设施的最新状态是至关重要的。TeamViewer (Classic) 有一个每月的发布周期。这意味着每个月推出一次新的次要版本。
注意: 当前的Windows 版本将始终作为公告与macOS 和Linux 版本的更新日志一起被钉在上面。
更新过程取决于在设备上部署的TeamViewer (Classic) 的版本。在这篇文章中,将根据当前部署在设备上的TeamViewer (Classic) 版本讨论不同的方法。
1、通过TeamViewer (Classic) 政策
使用15.21.4或更新的版本,可以简单地通过你的设备上的TeamViewer (Classic) 策略应用更新参数。该策略将定期检查更新并处理客户的更新
2、通过在现有版本上安装较新的版本
或者,可以通过在现有的TeamViewer (Classic) 安装上最新的TeamViewer (Classic) 版本包来更新TeamViewer (Classic) 。
3、TeamViewer (Classic) 13.2和15.20.3
要在13.2和15.20.3版本之间更新TeamViewer (Classic) ,需要在设备上再次推出.msi 脚本。一旦更新,将能够应用TeamViewer (Classic) 策略,如上所述,以保持客户端是最新的。
4、TeamViewer (Classic) 13.1及以下
要更新TeamViewer (Classic) 13.1及以下版本,需要更新客户端,在设备上卸载TeamViewer (Classic),并用最新版本重新部署。一旦更新,将能够应用TeamViewer (Classic) 策略,如上所述,以保持客户端是最新的。
5、卸载TeamViewer (Classic)
如果有必要,可以卸载TeamViewer (Classic) (例如,如果想从host 切换到一个完整的版本),或者:
- 使用完全相同的Windows MSI 安装程序,也用它来安装;
- 使用操作系统的功能。
6、通过Windows安装程序进行卸载
可以使用Windows MSI 安装程序中的卸载命令(/uninstall 或 /x)。确保使用正确的MSI (Full或Host )进行卸载。
msiexec.exe /uninstall “Path\To\TeamViewer (Classic)_Host.msi”
注意启动命令行时需要管理员权限。