使用 PowerShell 从 Azure AD 组中删除所有用户的最快方法

问题描述 投票:0回答:2

在 PowerShell 中从 Azure AD 组中删除所有用户的最快方法是什么? 我目前正在使用

$deleteThem = Get-MsolGroupMember -GroupObjectId $groupId -All 
foreach ($user in $deleteThem) {
    Remove-MsolGroupMember -GroupObjectId $groupId -GroupMemberObjectId $user.ObjectId
}

但这速度慢得令人痛苦。 不过,我需要保留组和组 ID。 有什么想法吗?

powershell azure-active-directory azure-powershell group-membership
2个回答
1
投票

正如评论部分中的Ash提到的,使用Remove-AzADGroupMember比Remove-MsolGroupMember更快。

我运行了以下脚本,只需提供组名称即可删除组中的用户。

Import-Module AzureAD
$Credential = Get-Credential
Connect-AzureAD -Credential $Credential
$group=Get-AzureADGroup -SearchString 'Your Tenant Group Name' 
$users=Get-AzureADGroupMember -ObjectId $Group.ObjectId -All $true |where {$_.ObjectType -eq 'User'}
foreach($user in $users){
Remove-AzureADGroupMember -ObjectId $Group.ObjectId -MemberId $user.objectId
} 

enter image description here

注意: 在凭据提示框中,提供租户的管理员 ID 和密码。如果群组中有很多用户,那么预计需要一些时间。


0
投票

以下脚本应在一次调用中删除所有成员,此示例删除前 300 个成员。

$group=Get-AzADGroup -DisplayName "GroupName"
$users=Get-AzADGroupMember -Id $Group.Id
$users = $users | Select-Object -First 300 # Any select crite
foreach($user in $users){
    $userlist+=$user.Id
} 

删除-AzADGroupMember -GroupObjectId $Group.Id -MemberObjectId $userlist

© www.soinside.com 2019 - 2024. All rights reserved.