豆子最近有个新的项目 需要迁移500多个GSuite的账号到 Office365里面。PowerShell Gallery已经提供了相关的Gsuite 的模块进行下载。但是Google Admin初始化的配置比Office365 麻烦多了,而且网上的wiki资料过时了,界面完全对应不上。

官网说明,但是这个资料是去年更新的,界面很多地方都对不上号了
https://psgsuite.io/

下面看看如何实现。

首先下载PS的模块,微软半年前升级他的安全标准之后,PS5 默认的 Tls1 已经不支持了,因此我需要手动指定安全协议是 tls2

Powershell管理 GSuite 系统

登陆 Google API

Powershell管理 GSuite 系统

根据提示下一步

Powershell管理 GSuite 系统

选择 service account

Powershell管理 GSuite 系统

创建新的 service account
Powershell管理 GSuite 系统

输入相关信息

Powershell管理 GSuite 系统

Role 选择 Owner
Powershell管理 GSuite 系统

Done
Powershell管理 GSuite 系统

Add Key
Powershell管理 GSuite 系统

选择 P12的格式下载
Powershell管理 GSuite 系统

记录一下账号

Powershell管理 GSuite 系统

Enable service account
Powershell管理 GSuite 系统

然后去 GSuite 的 Security 里面 添加一个新的app
Powershell管理 GSuite 系统

然后在 SSO里面查看一下customer id

Powershell管理 GSuite 系统

最后连接一下
Powershell管理 GSuite 系统

测试一下

$groups=Get-GSGroup 
foreach($group in $groups){
    #$group | select
    $email=$group.Email
    write-host $name -ForegroundColor Cyan
    Get-GSGroupMember -Identity $email | select Group, Email, kind, status | ft -AutoSize
}

$users=Get-GSUser -Filter *

$users | measure

$date=(get-date).AddDays(-30)

$demo=$users | Where-Object {$_.LastLoginTime -lt $date} 

$demo | select user,creationtime, lastlogintime | sort lastlogintime -Descending

Powershell管理 GSuite 系统