使用 PowerShell 删除 Microsoft 365 用户帐户

可以使用适用于 Microsoft 365 的 PowerShell 删除和还原用户帐户。

注意

了解如何使用 Microsoft 365 管理中心还原用户帐户

有关其他资源的列表,请参阅 管理用户和组

使用 Microsoft Graph PowerShell 删除用户帐户

注意

Azure Active Directory (AzureAD) PowerShell 模块即将弃用,并替换为 Microsoft Graph PowerShell SDK。 可以使用 Microsoft Graph PowerShell SDK 访问所有 Microsoft Graph API。 有关详细信息,请参阅 Microsoft Graph PowerShell SDK 入门

另请参阅 安装 Microsoft Graph PowerShell SDK从 Azure AD PowerShell 升级到 Microsoft Graph PowerShell ,了解如何分别安装和升级到 Microsoft Graph PowerShell。

有关如何使用不同的方法在无人参与的脚本中进行身份验证 Connect-Graph 的信息,请参阅 Microsoft Graph PowerShell 中的身份验证模块 cmdlet 一文。

删除用户帐户需要 User.ReadWrite.All 权限范围,“分配许可证”Microsoft 图形 API参考页中列出了该范围。

需要 User.Read.All 权限范围才能读取租户中的用户帐户详细信息。

首先, 连接到 Microsoft 365 租户

# Connect to your tenant
Connect-MgGraph -Scopes User.Read.All, User.ReadWrite.All

连接后,使用以下语法删除单个用户帐户:

$userName="<display name>"
# Get the user
$userId = (Get-MgUser -Filter "displayName eq '$userName'").Id
# Remove the user
Remove-MgUser -UserId $userId -Confirm:$false

此示例删除用户帐户 Caleb Sills

$userName="Caleb Sills"
$userId = (Get-MgUser -Filter "displayName eq '$userName'").Id
Remove-MgUser -UserId $userId -Confirm:$false

还原用户帐户

若要使用 Microsoft Graph PowerShell 还原用户帐户,请先 连接到 Microsoft 365 租户

若要还原已删除的用户帐户,需要权限范围 Directory.ReadWrite.All 。 使用此许可范围连接到租户:

# Connect to your tenant
Connect-MgGraph -Scopes Directory.ReadWrite.All

已删除的用户帐户不再存在,但作为目录中的对象除外,因此无法搜索要还原的用户帐户。 请改用以下 PowerShell 脚本在目录中搜索 microsoft.graph.user 类型的已删除对象:

$DeletedUsers = Get-MgDirectoryDeletedItem -DirectoryObjectId microsoft.graph.user -Property '*'
$DeletedUsers = $DeletedUsers.AdditionalProperties['value']
foreach ($deletedUser in $DeletedUsers)
{
   $deletedUser | Format-Table
}

此脚本的输出(假定目录中存在任何已删除的用户对象)将如下所示:

Key               Value
---               -----
businessPhones    {}
displayName       Caleb Sills
givenName         Caleb
mail              CalebS@litware.com
surname           Sills
userPrincipalName cdea706c3fdc4bbd95925d92d9f71eb8CalebS@litware.com
id                cdea706c-3fdc-4bbd-9592-5d92d9f71eb8

使用以下语法还原单个用户帐户:

# Input user account ID
$userId = "<id>"
# Restore the user
Restore-MgDirectoryDeletedItem -DirectoryObjectId $userId

此示例使用 上述脚本输出中的 值$userID还原用户帐户calebs@litwareinc.com

$userId = "cdea706c-3fdc-4bbd-9592-5d92d9f71eb8"
Restore-MgDirectoryDeletedItem -DirectoryObjectId $userId

此命令的输出如下所示:

Id                                   DeletedDateTime
--                                   ---------------
cdea706c-3fdc-4bbd-9592-5d92d9f71eb8

另请参阅

使用 PowerShell 管理 Microsoft 365 用户帐户、许可证和组

使用 PowerShell 管理 Microsoft 365

PowerShell for Microsoft 365 入门