使用 PowerShell 删除 Microsoft 365 用户帐户
可以使用适用于 Microsoft 365 的 PowerShell 删除和还原用户帐户。
使用 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 用户帐户、许可证和组