如何用GAM管理Google Workspce

前几天整了一个谷歌全局,设置用户的时候发现需要一个个的添加/删除,每次还要登录管理控制台,就想着能不能用 API 进行管理,搜了很久没找到中文的相关教程,又去找谷歌官方的相关文档,找了半天终于找到了一个第三方的应用程序--Google APP Manager,现在的版本是GAM7,这是一个用于管理 Google Workspace(原 G Suite)的开源命令行工具。它基于原版 GAM 的功能进行了优化和增强,适合管理员批量操作和管理 Google Workspace 的用户、群组、设备等资源。GAM7 提供了强大的 API 支持,能够以更高效的方式执行管理任务。

这个项目可以安装在Mac/WIN/Linux等系统,我安装在我的VPS上,就简单写写安装步骤。

项目地址

准备
  1. 一台 Ubuntu 服务器或本地环境(推荐 18.04 或更高版本)。
  2. 已安装 Python 3.9 或更高版本。
  3. 具备 Google Workspace 超级管理员权限的账号。
安装步骤
  • 我用的是一键安装脚本,运行下面的命令:
bash <(curl -s -S -L https://gam-shortn.appspot.com/gam-install)

这将下载 GAM、安装并开始设置。

  • 下载完成之后会出现一个对话框,让你选择是否能使用完整的浏览器啥的,如下所示:

因为我是用的 VPS 的 ubuntu,是无头浏览器(应该是这么叫),所以我选择 N

  • 然后又会出现一个对话框,说已经 GAM7 已经安装完成了,有没有准备好设置 API,管理员账号我已经准备好了,所以选择 Y
  • 接下来就是输入全局的域名,输入域名之后让去控制台添加信任一个应用,终端会显示链接和要添加的应用客户端ID:
  • 后面忘记截图了,记得就是整完之后回到终端按 Enter,终端出现一个链接,打开之后登录管理员账号,会罗列一系列权限,然后确认之后会跳转一个页面,但是会出现错误,把出现错误的网页的网址 &sope 前面的复制到终端,按 Enter ,后面的有些忘记了,按照步骤一步一步来就行应该。

常见使用命令

下面是一些常用的 GAM7 命令:

管理设备

查看用户的设备:

gam user [email protected] show devices

移除设备:

gam user [email protected] delete device <device_id>

管理用户驱动器文件共享

列出用户共享的所有文件:

gam user [email protected] show filelist

更改文件权限:

gam user [email protected] update drivefile id <file_id> anyonewithlink writer

启用两步验证

gam user [email protected] update backupcodes
gam user [email protected] require 2sv on

设置用户签名

gam user [email protected] signature "Best Regards,\nYour Company"

批量导入用户

通过 CSV 文件批量导入:

gam csv users.csv gam create user ~email firstname ~firstname lastname ~lastname password ~password

其中 users.csv 文件格式如下:

email,firstname,lastname,password
[email protected],John,Doe,Password1
[email protected],Jane,Smith,Password2

添加用户到群组

gam update group [email protected] add member [email protected]

查看群组成员

gam info group [email protected]

删除用户

gam delete user [email protected]

创建用户

gam create user [email protected] firstname "First" lastname "Last" password "Password"

查看所有用户

gam all users show name email

感觉国内用这玩意的很少,国内学校应该没有使用 Google Workspace for Education 的 ,不过对于有需要的人还是挺有用的,几个命令就可以创建/删除上万用户。