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

[玩转系统] 如何从通讯组中删除成员

作者:精品下载站 日期:2024-12-14 05:51:34 浏览:12 分类:玩电脑

如何从通讯组中删除成员


有时,您必须从通讯组列表中删除成员,因为它们不再属于该列表。在 Microsoft 管理中心中,您一次只能删除单个通讯组中的成员。使用 PowerShell,有更多选项可以从所有通讯组中删除成员。在本文中,您将了解如何在 Microsoft 管理中心和 PowerShell 中删除通讯组成员。

删除 Microsoft 365 中的通讯组成员

在 Microsoft 365 管理中心中,您可以删除通讯组成员。我们将向您展示如何从通讯组列表中删除多个成员。

若要删除 Microsoft 365 管理中心中的通讯组成员,请执行以下步骤:

  1. 登录 Microsoft 365 管理中心
  2. 展开团队和群组 > 活跃团队和群组
  3. 点击分发列表
  4. 单击通讯组
  5. 点击成员
  6. 点击查看和管理成员

[玩转系统] 如何从通讯组中删除成员

  1. 选择多个成员
  2. 单击三个点
  3. 点击删除成员

[玩转系统] 如何从通讯组中删除成员

  1. 单击

[玩转系统] 如何从通讯组中删除成员

您已成功从单个通讯组列表中删除多个成员。您还可以从 Exchange 管理中心的通讯组列表或启用邮件的安全组中删除成员。

使用 PowerShell,有更多删除成员的选项,我们将在下一步中向您展示。例如,您可以从所有通讯组列表和启用邮件的组中删除特定成员。

连接到 Exchange Online PowerShell

为了能够运行 PowerShell 命令,您必须连接到 Exchange Online PowerShell。以管理员身份打开 Windows PowerShell,运行以下 cmdlet,然后使用管理员凭据登录。

Connect-ExchangeOnline

删除-DistributionGroupMember 错误:您没有足够的权限

每个通讯组至少有一名经理(所有者)。这意味着只有通讯组经理才被允许执行这些管理任务。因此,当 Exchange Online 管理员尝试使用 Remove-DistributionGroupMember cmdlet 更新通讯组的属性时,如果该管理员不是该通讯组的管理员,则会显示以下错误消息。

错误:您没有足够的权限。该操作只能由群组管理员执行。

请注意,即使具有全局管理员凭据的用户也无法删除或更改通讯组。您不是通讯组经理这一事实可能会阻止您完成所需的管理任务。

管理通讯组需要使用的 PowerShell cmdlet 包含名为 -BypassSecurityGroupManagerCheck 的参数。因此,每当您尝试执行管理任务并出现权限错误时,您都可以将 -BypassSecurityGroupManagerCheck 参数添加到原始 PowerShell 命令中。

请参阅下面的 PowerShell 命令语法示例。

Remove-DistributionGroupMember -Identity "Distribution Group" -Member "Identity" -BypassSecurityGroupManagerCheck

在这种情况下,您不必是通讯组的经理(所有者)即可删除成员。

从通讯组中删除成员

要从通讯组列表或启用邮件的安全组中删除成员,我们将使用Remove-DistributionGroupMember PowerShell cmdlet。

在我们的示例中,我们将从启用邮件的安全组(Finance USA)中删除成员(David Kent)。我们还将添加 -Confirm:$false 参数来抑制确认提示。

请参阅以下 PowerShell 命令语法来删除通讯组成员。

Remove-DistributionGroupMember -Identity "Distribution Group" -Member "Identity" -BypassSecurityGroupManagerCheck -Confirm:$false

运行 PowerShell 命令示例。

Remove-DistributionGroupMember -Identity "[email protected]" -Member "[email protected]" -BypassSecurityGroupManagerCheck -Confirm:$false

从所有通讯组列表组中删除成员

您可以使用 PowerShell 从所有通讯组列表组中删除特定成员。

在我们的示例中,用户 [email protected] 是多个通讯组的成员。要从每个通讯组列表中删除用户(Brenda Smith),我们需要使用-Filter参数。

  • 第 1 行上指定 UserPrincipalName ([email protected])
  • 运行以下 PowerShell 脚本
$UPN = "[email protected]"
$AllDistributionGroups = Get-DistributionGroup -ResultSize Unlimited -Filter { RecipientTypeDetails -eq "MailUniversalDistributionGroup" }

$User = @()
$User += Get-User -Identity $UPN -ErrorAction SilentlyContinue
$User += Get-Contact -Identity $UPN -ErrorAction SilentlyContinue

$userID = $User.Identity

foreach ($DistributionGroup in $AllDistributionGroups) {

    $groupMembers = Get-DistributionGroupMember -Identity $DistributionGroup.DistinguishedName | Select-Object -ExpandProperty Name
    if ($groupMembers -contains $userID ) {
        Write-Host "Removing member from group '$($DistributionGroup.Name)'" -ForegroundColor Green
        Remove-DistributionGroupMember -Identity $DistributionGroup.DistinguishedName -Member $userID -BypassSecurityGroupManagerCheck -Confirm:$false
    }
}

从所有通讯组列表和启用邮件的安全组中删除成员

您还可以从所有通讯组列表和启用邮件的安全组中删除特定用户。

在我们的示例中,用户 [email protected] 是多个通讯组列表和启用邮件的组的成员。我们想要从所有这些组中删除用户(Brenda Smith)

$UPN = "[email protected]"
$AllDistributionGroups = Get-DistributionGroup -ResultSize Unlimited

$User = @()
$User += Get-User -Identity $UPN -ErrorAction SilentlyContinue
$User += Get-Contact -Identity $UPN -ErrorAction SilentlyContinue

$userID = $User.Identity

foreach ($DistributionGroup in $AllDistributionGroups) {

    $groupMembers = Get-DistributionGroupMember -Identity $DistributionGroup.DistinguishedName | Select-Object -ExpandProperty Name
    if ($groupMembers -contains $userID ) {
        Write-Host "Removing member from group '$($DistributionGroup.Name)'" -ForegroundColor Green
        Remove-DistributionGroupMember -Identity $DistributionGroup.DistinguishedName -Member $userID -BypassSecurityGroupManagerCheck -Confirm:$false
    }
}

批量删除特定通讯组中的所有成员

使用 PowerShell,您可以从特定通讯组列表或启用邮件的安全组中删除所有成员。

在我们的示例中,我们希望使用 PowerShell 脚本从通讯组 Sales USA 中批量删除所有现有成员。

  • 第 1 行上指定通讯组主 SMTP 地址
  • 运行以下 PowerShell 脚本
$groupName = "[email protected]"
$DistributionGroupMember = Get-DistributionGroupMember $groupName
ForEach ($member in $DistributionGroupMember) {
    try {
        Remove-DistributionGroupMember -Identity $groupName -Member $member.Name -BypassSecurityGroupManagerCheck -Confirm:$false
        Write-Host "Successfully removed $($member.DisplayName) from '$groupName'" -ForegroundColor Green
    }
    catch {
        Write-Host "An error occurred while removing $($member.DisplayName) from '$groupName' $_" -ForegroundColor Red
    }
}

就是这样!

了解更多:如何删除完全访问邮箱权限 »

结论

您了解了如何删除通讯组成员。在 Microsoft 365 管理中心中,您可以从通讯组列表组中删除单个或多个成员。借助 PowerShell,可以更轻松、更快速地使用脚本从所有通讯组中删除特定成员。

您喜欢这篇文章吗?您可能还喜欢使用 Microsoft Graph PowerShell 删除 Azure AD 用户。不要忘记关注我们并分享这篇文章。

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

取消回复欢迎 发表评论:

关灯