[玩转系统] 实用图:如何批量删除Entra ID账户
作者:精品下载站 日期:2024-12-14 04:10:27 浏览:13 分类:玩电脑
实用图:如何批量删除Entra ID账户
查找并删除大量 Azure AD 帐户
在讨论了如何创建 Azure AD 帐户等主题之后,我们应该考虑如何在 Azure AD 帐户生命周期的另一端批量删除其问题。删除单个帐户不值得讨论,因为通过 Microsoft 365 管理中心、Microsoft Entra 管理中心或 Microsoft Graph PowerShell SDK 中的 Remove-MgUser cmdlet 可以轻松完成此操作。
批量删除更有趣。 Microsoft 365 管理中心和 Microsoft Entra 管理中心都支持在一次操作中删除多个帐户的功能(图 1),并且该方法适用于删除相对少量的帐户。然而,一旦要删除的帐户数量增加,程序化方法就会更加有效。
您会发现许多文章郑重地记录了如何在从 AzureAD 或 MSOL 模块(均已弃用)调用 cmdlet 来删除帐户之前,从 CSV 文件中读取要删除的帐户名称。从 CSV 文件中读取姓名和其他帐户信息会创建一组帐户进行处理。我在这里争论的一点是,存在更有趣的方法来查找要删除的帐户。
学年结束时删除学生
例如,以许多教育机构在学年结束时所处的情况为例。许多学生帐户在完成课程后就会过期,需要删除以释放新学生的作业许可证。第一个问题是如何识别相关账户。
在另一篇文章中,我介绍了如何使用筛选器通过 PowerShell 查找 Azure AD 帐户。其中一种方法是使用十五个 Exchange 自定义扩展属性来存储用于查找帐户的信息。对于学生,您可以使用自定义扩展属性来存储学生的以下内容:
- 课程编号。
- 注册号。
- 注册到期日期。
在本例中,我们将使用存储注册到期日期的自定义扩展属性来查找学年结束时的学生帐户。
在检查自定义属性中保存的数据时,Exchange Online Get-ExoMailbox cmdlet 更加灵活。此示例演示如何创建已过期的学生帐户数组。在本例中,CustomAttribute1 存储诸如 20230601 之类的值来表示 2023 年 6 月 1 日。您可以以其他日期格式存储信息,但这对于我们需要执行的检查很方便。
[string]$EndAcademicYear = (Get-Date -format yyyyMMdd)
[array]$StudentAccounts = Get-ExoMailbox -Filter "CustomAttribute1 -le '$EndAcademicYear'" -Properties CustomAttribute1
If (!($StudentAccounts)) { Write-Host "No expired student accounts found!" ; break }
请记住,Exchange Online 返回用户主体名称和帐户标识符(在ExternalDirectoryObjectId 属性中)等信息,这些信息可与 Microsoft Graph PowerShell SDK cmdlet 一起使用以与用户帐户进行交互。
解雇临时员工
可能需要批量删除帐户的另一个例子是在合同期结束后删除临时雇员的帐户。 Azure AD 包含一些方便的帐户属性来保存就业信息,包括就业类型。
不幸的是,Get-MgUser cmdlet 不支持针对 EmployeeType 属性进行过滤,因此我们最终会执行类似的操作来获取用户帐户信息并对其进行处理以确定是否临时工超过一年的雇佣期限。
[datetime]$ExpirationDate = Get-Date
[array]$Employees = Get-MgUser -filter "userType eq 'Member' and EmployeeId ge ' '" -Property Id, displayname, userprincipalname, employeeid, employeehiredate, employeetype
If ($Employees) {
$Employees = $Employees | Where-Object {$_.EmployeeType -eq 'Temporary’}
} Else {
Write-Host "No employees found" ; break
}
$AccountsforDeletion = [System.Collections.Generic.List[Object]]::new()
ForEach ($Employee in $Employees) {
[datetime]$EmployeeExpirationDate = (Get-Date $Employee.EmployeeHireDate).AddDays(365)
If ($EmployeeExpirationDate -lt $ExpirationDate) {
$ReportLine = [PSCustomObject]@{
EmployeeUserId = $Employee.Id
EmployeeUPN = $Employee.UserPrincipalName
EmployeeId = $Employee.EmployeeId
EmployeeName = $Employee.displayName
EmployeeDate = $Employee.EmployeeHireDate
EmployeeType = $Employee.EmployeeType
ExpiryDate = $EmployeeExpirationDate }
$AccountsForDeletion.Add($ReportLine)
}
}
你明白了。在批量删除 Azure AD 帐户之前,我们需要知道要删除的帐户集并以 PowerShell 可以处理的形式(列表或数组)提供该信息。在进行任何删除之前,最好让额外的人员检查一组帐户,以确保可以继续进行。
批量删除 Azure AD 帐户
删除一组 Azure AD 帐户只需循环访问该组帐户并调用Remove-MgUser 来删除每个帐户即可。唯一的先决条件是该集必须包含一个属性,以允许 Azure AD 识别每个帐户。这可以是帐户的用户主体名称或对象标识符。对于临时员工,集合中的每个项目如下所示:
EmployeeUserId : 6fd89e40-665a-4efa-9691-da07849cae91
EmployeeUPN : [email protected]
EmployeeId : 111888
EmployeeName : Rene Artois
EmployeeDate : 08/03/2022 21:19:10
EmployeeType : Temporary
ExpiryDate : 08/03/2023 21:19:10
删除帐户的代码非常简单:
ForEach ($Account in $AccountsForDeletion) {
Write-Host ("Deleting account {0}" -f $Account.EmployeeName
Remove-MgUser -UserId $Account.EmployeeUserId }
请注意,Remove-MgUser cmdlet 在删除帐户之前不需要确认。删除的帐户将进入 Azure AD 帐户回收站并保留 30 天。在此期间,您可以通过运行 Restore-MgDirectoryDeletedItem cmdlet 来恢复帐户(有关详细信息,请参阅本文)。如果要在 30 天保留期结束之前从 Azure AD 中永久删除已删除的帐户,可以通过运行 Remove-MgDirectoryDeletedItem cmdlet 来实现。
保留数据
具有 Office 365 E3 许可证的帐户可以保留已删除帐户拥有的邮箱和 OneDrive for Business 内容。最简单的方法是为所有帐户部署通用保留策略,以在短时间内(例如六个月)保留内容。单独的保留政策可以涵盖具有更紧迫保留要求的帐户,例如高管或负责审计的人员。 Microsoft Purview 使用的保留原则意味着适用最长保留期,因此属于多个保留策略所涵盖的帐户的数据将保留,直到最长保留期到期。因此,应用保留期较短的保留策略作为后盾是相当安全的。
一些专家主张在删除其所属帐户之前对每个邮箱进行诉讼保留。诉讼(或法律)保留与邮箱的保留策略具有相同的效果,但会忽略 OneDrive for Business 帐户中保留的其他个人数据。总的来说,我认为保留政策是更好的选择。
目录准确性是关键
批量删除 Azure AD 帐户很容易。操作的关键是能够准确识别目标账户。 Azure AD 必须在筛选器发挥作用之前保存准确的信息。如果 Azure AD 数据不准确,您不妨重新使用 CSV 文件来驱动批量帐户删除操作。当然,没有理由假设 CSV 文件的内容是准确的,但至少如果不准确,您可以责怪创建该文件的人。
Active Directory 的网络安全风险管理
了解如何通过这些网络安全风险管理解决方案预防 AD 攻击并从中恢复。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag