如何在Azure AD中自动禁用45天、删除90天未登录用户?
自动化处理Azure AD中未登录用户的方案
针对自动禁用45天未登录用户、删除90天未登录/已禁用用户的需求,可通过Microsoft Graph PowerShell结合Azure Automation实现每日夜间任务,具体方案如下:
核心逻辑
- 禁用规则:筛选启用状态且
LastSignInDateTime早于当前日期45天前的用户,执行禁用操作 - 删除规则:筛选已禁用状态,或
LastSignInDateTime早于当前日期90天前的用户,执行删除操作(删除不可逆,需谨慎)
PowerShell脚本实现(基于Microsoft Graph)
1. 禁用45天未登录用户脚本
# 连接Microsoft Graph(自动化场景建议用托管身份,无需手动登录) Connect-MgGraph -Scopes "User.ReadWrite.All" # 计算45天前的UTC时间戳 $cutoffDate = (Get-Date).AddDays(-45).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') # 查询符合条件的启用状态用户 $targetUsers = Get-MgUser -Filter "accountEnabled eq true and lastSignInDateTime le '$cutoffDate'" -Select Id, DisplayName, UserPrincipalName # 批量禁用 foreach ($user in $targetUsers) { Write-Output "禁用用户: $($user.DisplayName) ($($user.UserPrincipalName))" Update-MgUser -UserId $user.Id -AccountEnabled:$false }
2. 删除90天未登录/已禁用用户脚本
# 连接Microsoft Graph Connect-MgGraph -Scopes "User.ReadWrite.All" # 计算90天前的UTC时间戳 $cutoffDate = (Get-Date).AddDays(-90).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') # 查询符合条件的用户:已禁用 或 90天未登录 $targetUsers = Get-MgUser -Filter "(accountEnabled eq false) or (lastSignInDateTime le '$cutoffDate')" -Select Id, DisplayName, UserPrincipalName, AccountEnabled # 批量删除(建议先导出备份,再移除-Confirm:$false执行实际删除) foreach ($user in $targetUsers) { Write-Output "删除用户: $($user.DisplayName) ($($user.UserPrincipalName))" Remove-MgUser -UserId $user.Id -Confirm:$false }
自动化部署(每日夜间执行)
- 创建Azure Automation账户:在Azure门户中创建Automation账户,启用系统托管身份
- 导入Graph模块:在Automation账户的「模块」中导入
Microsoft.Graph.Users模块 - 配置权限:给Automation账户的系统托管身份分配
User.ReadWrite.All的Microsoft Graph应用权限 - 创建Runbook:将上述脚本分别创建为PowerShell Runbook(或合并为一个Runbook执行两个任务)
- 设置计划触发器:为Runbook添加每日夜间的计划(如凌晨2点),按需求执行
关键注意事项
- 数据备份:删除操作不可逆,正式执行前务必导出目标用户列表备份,可在脚本中添加
Export-Csv命令实现 - 排除特权账户:建议在Filter中排除全局管理员、Exchange管理员等特权账户,例如添加
and not (assignedRoles/any(r:r/id eq '62e90394-69f5-4237-9190-012177145e10'))(全局管理员角色ID) - 来宾用户处理:若无需处理来宾用户,可在Filter中添加
userType eq 'Member' - 日志监控:在Automation中启用作业日志,或集成Azure Monitor,追踪任务执行情况
内容的提问来源于stack exchange,提问作者AskMe
相关产品推荐
相关产品推荐

