以下是脚本的内容,运行之前需要先安装MS Online Module
try
{
$Error.clear()
Write-Host "$(Get-Date) * Deprovision users.."
$Users = Get-MsolUser -All -ErrorAction Stop
$Users | %{
$Role = Get-MsolUserRole -UserPrincipalName $_.UserPrincipalName
#排除Global Admin
if (($Role -eq $null) -or ($Role.ObjectId -ne "62e90394-69f5-4237-9190-012177145e10"))
{
Remove-MsolUser -UserPrincipalName $_.UserPrincipalName -Force -ErrorAction Stop
Write-Host "$(Get-Date) * $($_.UserPrincipalName) removed.."
}
}
Start-Sleep 1
#从回收站删除用户
Get-MsolUser -ReturnDeletedUsers -ErrorAction Stop | Remove-MsolUser -RemoveFromRecycleBin -Force -ErrorAction Stop
Write-Host "$(Get-Date) * Done. Users already deleted"
Start-Sleep 1
Write-Host "$(Get-Date) * Deprovision Groups.."
Get-MsolGroup -ErrorAction Stop | Remove-MsolGroup -Force -ErrorAction Stop
Write-Host "$(Get-Date) * Done. Groups already deleted"
}
catch
{
Write-Warning $Error[0].Exception.Message
} 脚本相当简单,基本上都能看懂,对于实验环境来说,还是比较好用的。当然如果说有一些exchange online里的联系人或者其他数据,想要自动清除掉,还需要使用exchange online的module,这个就不一一介绍了
使用PowerShell deprovision O365 资源
原文:http://blog.51cto.com/mxyit/2070220