当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何从 Azure AD 永久删除已删除的 Microsoft 365 用户

作者:精品下载站 日期:2024-12-14 04:03:33 浏览:15 分类:玩电脑

如何从 Azure AD 永久删除已删除的 Microsoft 365 用户


本文的原始版本由 Paul Cunningham 撰写,于 2015 年 1 月 15 日发布。此版本经过修订以反映 Microsoft 365 中的当前环境。

当您从 Microsoft 365 管理中心删除 Microsoft 365 用户帐户时,该帐户将进入软删除状态 30 天。在此期间,如果非故意删除,管理员可以轻松恢复帐户。 Azure AD 会完全恢复帐户(许可证分配除外)。例如,这包括 Microsoft 365 组(和团队)的成员资格、邮箱权限和委托等 Exchange 属性、包括 OneDrive 中共享的文件等。

三十天已删除帐户保留限制

已删除帐户的保留期限为 30 天,由 Azure AD 设置。租户不能选择其他值。但是,如果要永久删除已删除的 Microsoft 365 用户,可以使用 PowerShell。您可能想要这样做的原因包括:

  • 用户帐户配置不正确。
  • 当 UPN 或主 smtp 地址相同时,防止通过 Azure AD Connect 进行软匹配。
  • 处于活动保留状态的邮箱将被设置为非活动状态。

按需迁移

使用一种全面的 Office 365 租户到租户迁移解决方案迁移所有工作负载和 Active Directory。

使用 PowerShell 删除已删除的 Azure AD 帐户

要删除帐户,您需要在计算机上安装 Azure Active Directory PowerShell 和 Microsoft Online Services 模块。

警告:除非您完全确定要永久删除用户,否则请勿继续。

首先,通过运行 Connect-AzureAD 并输入您的管理员凭据来连接到 Azure Active Directory。还可以通过运行 Connect-MSolService cmdlet 连接到 Microsoft Online Services:

Connect-AzureAD
Connect-MSOlService

连接后,运行 Get-MsOlUser cmdlet 以返回已删除用户的列表及其对象标识符:

Get-MsolUser -ReturnDeletedUsers | Format-Table DisplayName, ObjectId

DisplayName                               ObjectId
-----------                               --------
Chris Bishop                              1368fd78-c2b4-4e14-8e69-65dddc432451
John Beddie                               8dfa381e-685a-4ba6-a12a-6a7b35df8199

Get-MsolUser返回的集合中找到所需的帐户后,您可以通过运行Remove-AzureADMSDeletedDirectoryObject永久删除其用户对象。

Remove-AzureADMSDeletedDirectoryObject -Id 1368fd78-c2b4-4e14-8e69-65dddc432451

立即删除,该帐户将无法恢复。

要在删除保留期到期之前从 Azure AD 中永久删除已删除的帐户,您可以将 Get-MsolUser 检索到的对象集通过管道传输到 Remove-AzureADMSDeletedDirectoryObject cmdlet :

Get-MsolUser -ReturnDeletedUsers | Select -ExpandProperty ObjectId | Remove-AzureADMSDeletedDirectoryObject 

更新:使用 Microsoft Graph PowerShell SDK

Microsoft 已宣布打算弃用 Microsoft Online Services 和 Azure AD PowerShell 模块。您应该将使用这些模块的任何代码替换为 Microsoft Graph PowerShell SDK 中的 cmdlet。在这种情况下,要查找已删除的用户帐户,请运行:

$Uri = "https://graph.microsoft.com/V1.0/directory/deletedItems/microsoft.graph.user"
[array]$DeletedUsers = Invoke-MgGraphRequest -Uri $Uri -Method Get

$DeletedUsers.Value.Foreach({Write-Host $_.DisplayName, $_.id})

图形 API 请求的更完善的形式类似于 Microsoft Entra 管理中心获取已删除的 Azure AD 帐户的方式,如下所示。我使用 Graph X-ray 插件在幕后嗅探以发现他们使用的代码。

$Uri = "https://graph.microsoft.com/V1.0/directory/deletedItems/microsoft.graph.user?`$select=id,displayName,userPrincipalName,userType,deletedDateTime,deletedDateTime,id,userPrincipalName&`$top=999&`$count=true"
[array]$DeletedUsers = Invoke-GraphRequest -Uri $Uri -Method Get
$DeletedUsers = $DeletedUsers.Value | Sort-Object {$_.deletedDateTime -as [datetime]} -descending

然后,要永久删除软删除的 Azure AD 帐户,请运行 Remove-MgDirectoryDeletedItem cmdlet 并传递要删除的帐户的对象标识符。

Remove-MgDirectoryDeletedItem -DirectoryObjectId 8aa1261a-b63e-4d5e-8acb-174879fc007a

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯