在 Exchange Online 中创建和管理通讯组

使用 Exchange 管理中心 (EAC) 或Exchange Online PowerShell 在Exchange Online组织中创建、修改或删除通讯组。

可以使用 Exchange Online PowerShell 将现有通讯组列表组转换为共享邮箱。 有关信息,请参阅本文后面的使用 Exchange Online PowerShell 将通讯组列表组转换为共享邮箱部分。

有两类组可用于分发邮件:

  • 启用邮件的通用通讯组 (也称为通讯组列表组,) 只能用于分发邮件。

  • 启用邮件的通用安全组 (也称为安全组) 可用于分发邮件和授予对资源的访问权限。 有关详细信息,请参阅管理启用邮件的安全组

请务必注意 Active Directory 与 Exchange Online 之间的术语差异。 在 Active Directory 中,通讯组列表组是指没有安全上下文的任何组,无论它是否已启用邮件。 相比之下,在Exchange Online中,所有启用邮件的组都称为通讯组,无论它们是否具有安全上下文。

开始前,有必要了解什么?

  • 估计完成时间:2 至 5 分钟。

  • 若要打开 Exchange 管理中心,请参阅 Exchange Online 中的 Exchange 管理中心

  • 若要连接到 Exchange Online PowerShell,请参阅连接到 Exchange Online PowerShell

  • 需要权限才能执行此过程或过程。 若要查看所需的权限,请参阅 Exchange Online 中的功能权限一文中的“收件人”条目。

  • 如果组织已配置了组命名策略,则只对用户创建的组应用组命名策略。 当你或其他管理员使用 EAC 创建通讯组列表组时,将忽略组命名策略,并且不会应用于组名称。 但是,如果使用 Exchange Online PowerShell 创建或重命名通讯组列表组,除非使用 IgnoreNamingPolicy 参数替代组命名策略,否则将应用该策略。 有关更多信息,请参阅:

使用 Exchange 管理中心管理通讯组列表组

使用 EAC 创建通讯组列表组

  1. EAC 中,单击“收件人>通讯组>列表”。

  2. 单击“ 添加组 ”,然后按照详细信息窗格中的说明进行操作。

    • “选择组类型 ”部分下,选择“ 分发 ”,然后单击“ 下一步”。

    • “设置基础知识 ”部分下,输入详细信息并单击“ 下一步”。

  3. “分配所有者 ”部分中,单击“ 分配所有者”“添加”图标,从列表中选择组所有者,然后单击“ 下一步”。

  4. “添加成员”下,单击“ 添加成员”“添加”图标,从列表中选择组成员,然后单击“ 下一步”。

  5. “编辑设置” 部分,输入组电子邮件地址,选中以下框,然后单击“ 下一步”:

    • 通信:选中复选框可允许组织外部的人员向此通讯组发送电子邮件。

    • 加入组:选择允许谁加入组。

      1. 打开:任何人都可以在未经所有者批准的情况下加入此组。

      2. 已关闭:只有组所有者可以添加成员。 所有加入请求都将自动被拒绝。

      3. 所有者批准:任何人都可以请求加入此组,并且所有者必须批准该请求。

    • 离开组:选择允许谁离开组。

      1. 打开:任何人都可以在未经组所有者批准的情况下离开此组。

      2. 已关闭:只有组所有者才能删除成员。 将自动拒绝所有离开请求。

  6. “查看并完成添加组 ”部分中,验证所有详细信息,单击“ 创建组”,然后单击“ 关闭”。

使用 EAC 修改通讯组列表组

  1. 在 EAC 中,单击“收件人>通讯组>列表”。

  2. “组” 页上,单击行中除“ 组名称” 列旁边的空白区域中显示的按钮选项以外的任意位置,选择单个组。

  3. “通讯组列表组 属性”页上,单击以下部分之一以查看或更改属性。

    • 一般信息

    • Members

    • 设置

  4. 完成后,单击“保存”。

使用 EAC 将通讯组列表组转换为共享邮箱

重要

在将现有通讯组列表组转换为共享邮箱之前,请将现有通讯组的地址替换为另一个地址,以便此通讯组可以自由转换为共享邮箱。 用于通讯组列表组的地址不能转换为共享邮箱。

从要用于共享邮箱的电子邮件地址释放现有通讯组后,请执行以下步骤:

  1. 创建共享邮箱
  2. 将用户添加到共享邮箱。
  3. 向共享邮箱的成员分配“完全访问权限”和“代理发送”权限

创建共享邮箱

  1. 转到>收件人邮箱>”“添加共享邮箱”“添加”图标

  2. 填写必填字段:

    • 显示名称:根据你的判断显示名称

    • Email地址:特别是从通讯组列表组中释放的电子邮件地址。

  3. 单击“ 创建 ”保存更改并创建共享邮箱。

将用户添加到共享邮箱

  1. 单击行中除“ 组名称” 列旁边的空白区域中显示的按钮选项以外的任意位置,选择新创建的共享邮箱。

  2. 在打开的通讯组浮出控件中,单击“ 查看所有和管理成员”。

  3. 单击“添加成员”图标。

  4. “搜索成员列表 ”文本框中,输入你从中释放电子邮件地址的通讯组组成员的姓名。

  5. 其名称显示在“成员”下后,检查与要添加为共享邮箱成员的人员的姓名对应的复选框。

  6. 选择“保存”。

向共享邮箱的成员分配“完全访问权限”和“代理发送”权限

  1. 转到>收件人邮箱”。

  2. 选择邮箱并单击“邮箱委派

  3. 在打开的 “管理邮箱委派 ”浮出控件中,单击“ 编辑编辑”图标

  4. 若要授予 “完全访问权限 ”和“ 代理发送 ”权限,请单击“ 添加成员”图标。 然后选择要向其授予权限的用户。

    注意

    完全 访问权限 允许用户打开邮箱以及创建和修改邮箱中的项目。 “代理发送”权限允许除邮箱所有者以外的任何人从此共享邮箱发送电子邮件。 这两个权限是成功操作共享邮箱所必需的。

  5. 单击“保存”保存更改。

使用 Exchange Online PowerShell 将通讯组列表组转换为共享邮箱

没有自动方法可将通讯组转换为共享邮箱。 本部分介绍使用 Exchange Online与 PowerShell 中的组相同的成员、电子邮件地址和类似属性创建共享邮箱的手动步骤。

警告

此过程要求在创建替换共享邮箱 之前 删除通讯组。 尽可能多地记录有关组的信息,如过程的早期步骤中所述。 还可以使用Microsoft 365 管理中心和新的 Exchange 管理中心 (新的 EAC) 来记录有关组的信息。

  1. 以下命令有两个用途:

    • 查看通讯组是否是其他组的成员。 将组替换为共享邮箱后,需要将共享邮箱添加为这些组的成员。
    • 记录要转换的组的成员。
    $dgs = Get-DistributionGroup -ResultSize unlimited
    
    $dgs | foreach {Write-Output -InputObject `r`n,($_.Name),"Group Members",("-"*25); Get-DistributionGroupMember -Identity $_ -ResultSize unlimited}
    

    有关详细语法和参数信息,请参阅 Get-DistributionGroupGet-DistributionGroupMember

  2. 若要记录要转换的通讯组的所有属性,请使用以下语法:

    Get-DistributionGroup -Identity <GroupIdentity> | Format-List
    

    其中 <GroupIdentity> 是组的名称、别名或电子邮件地址。

    例如:

    Get-DistributionGroup -Identity Marketing | Format-List
    

    若要显示截断的属性的完整值,请将 PropertyName> 替换为<属性名称,然后运行以下命令:

    Get-DistributionGroup -Identity Marketing | Select-Object -ExpandProperty <PropertyName>
    

    有关详细语法和参数信息,请参阅 Get-DistributionGroup

  3. 使用以下语法删除通讯组:

    Remove-DistributionGroup -Identity <GroupIdentity>
    

    例如:

    Remove-DistributionGroup -Identity marketing@contoso.com
    

    有关详细语法和参数信息,请参阅 Remove-DistributionGroup

  4. 使用以下语法和已删除通讯组的属性值创建替换共享邮箱。

    • 至少,将新共享邮箱的 PrimarySMTPAddress 和 DisplayName 值设置为已删除的通讯组中的值。
    • 创建共享邮箱时,还可以设置以下属性以匹配已删除的通讯组:
      • 名称
      • 别名
      • ModerationEnabled (默认值为 $false)
      • ModeratedBy (默认值为空)
      • SendModerationNotifications (默认值为 Always)

    步骤 8 列出了在创建共享邮箱 可在 PowerShell 中配置的其他属性。

    此示例使用已删除通讯组的名称、别名、显示名称和主电子邮件地址创建新的共享邮箱。

    New-Mailbox -Shared -Name Marketing -Alias marketing -DisplayName "Marketing Group" -PrimarySMTPAddress marketing@contoso.com
    

    有关语法和参数的详细信息,请参阅 New-Mailbox

  5. 使用以下语法,使用包含步骤 1 中已删除组的组列表,将共享邮箱添加为任何必需的通讯组或启用邮件的安全组的成员:

    $m = "<GroupEmailAddress1>","<GroupEmailAddress2>",..."<GroupEmailAddressN>"
    
    $m | foreach {Add-DistributionGroupMember -Identity $_ -Member <SharedMailboxIdentity}
    

    例如:

    $m = "allemployees@contoso.com","announcements@contoso.com"
    
    $m | foreach {Add-DistributionGroupMember -Identity $_ -Member marketing@contoso.com}
    

    有关语法和参数的详细信息,请参阅 Add-DistributionGroupMember

  6. 使用以下语法,使用在步骤 1 中记录的已删除组中的成员列表,为有效的 已启用邮件的安全主体 (邮箱、邮件用户或启用邮件的安全组) FullAccess 权限授予共享邮箱的 FullAccess 权限:

    $u = "<UserOrGroupEmailAddress1>","<UserOrGroupEmailAddress2>",..."UserOrGroupEmailAddressN"
    
    $u | foreach {Add-MailboxPermission -Identity <SharedMailboxIdentity> -AccessRights FullAccess -User $_}
    

    例如:

    $u = "julia@contoso.com","laura@contoso.com"
    
    $u | foreach {Add-MailboxPermission -Identity Marketing -AccessRights FullAccess -User $_}
    

    有关语法和参数的详细信息,请参阅 Add-MailboxPermission

  7. 使用以下语法,使用步骤 1 中记录的已删除组中的成员列表, (邮箱、邮件用户或启用邮件的安全组授予有效的 启用邮件的安全主体 ,) “代理发送”权限:

    提示

    上一步$u变量应已标识需要共享邮箱的“发送为”权限的前组成员,因此可以在此步骤中重复使用该变量。 否则,请使用与上一步相同的语法来标识新用户: $u = "<UserOrGroupEmailAddress1>","<UserOrGroupEmailAddress2>",..."UserOrGroupEmailAddressN"

    $u | foreach {Add-RecipientPermission -Identity <SharedMailboxIdentity> -AccessRights SendAs -Trustee $_}
    

    例如:

    $u | foreach {Add-RecipientPermission -Identity Marketing -AccessRights SendAs -Trustee $_}
    

    有关详细语法和参数信息,请参阅 Add-RecipientPermission

  8. 使用 Set-Mailbox cmdlet 或新的 EAC 从删除的组中配置在步骤 4 中创建共享邮箱时不可用 的其他属性

    例如, Set-Mailbox cmdlet 上提供了以下参数:

    • AcceptMessagesOnlyFrom
    • AcceptMessagesOnlyFromDLMembers
    • AcceptMessagesOnlyFromSendersOrMembers
    • BypassModerationFromSendersOrMembers
    • CustomAttribute1 到 CustomAttribute10
    • EmailAddresses
    • ExtensionCustomAttribute1 到 ExtensionCustomAttribute5
    • GrantSendOnBehalfTo
    • HiddenFromAddressListsEnabled
    • 邮件提示
    • MailTipTranslations
    • RejectMessagesFrom
    • RejectMessagesFromDLMembers
    • RejectMessagesFromSendersOrMembers
    • SendModerationNotifications

    在 New-Mailbox cmdlet 上的步骤 4 中提到的参数也可以在 Set-Mailbox cmdlet 上使用。

    有关语法和参数的详细信息,请参阅 Set-Mailbox

  9. 默认情况下,不会将具有“发送方式”权限的用户从共享邮箱发送的邮件复制到发件人。 若要更改行为,以便将消息复制到发件人,请使用以下语法:

    Set-Mailbox -Identity <SharedMailboxIdentity> -MessageCopyForSentAsEnabled $true
    

    例如:

    Set-Mailbox -Identity Marketing -MessageCopyForSentAsEnabled $true
    

    有关语法和参数的详细信息,请参阅 Set-Mailbox

  10. 告知用户从 Outlook 中的“自动完成”列表中删除已删除的组条目。 尽管新的共享邮箱和已删除的组具有相同的信息,但“自动完成”列表中的当前条目与已删除的组相关联,因此需要删除当前条目。 有关说明,请参阅 一次删除一个自动完成列表条目

一般信息

使用此部分可以查看或更改有关组的基本信息。

  • 名称:将电子邮件发送到此组时,此名称将显示在通讯簿的“ 目标 ”行中,以及“组”列表中。 显示名称是必需的,并且应当是用户友好的,以便用户可以识别它。 显示名称在域中还必须是唯一的。

  • 说明:使用此框描述组,以便人们知道组的用途。 此说明出现在通讯簿和 EAC 的"详细信息"窗格中。

电子邮件选项

使用此部分可以查看或更改与该组关联的电子邮件地址。 这包括组的主 SMTP 地址和任何关联的代理地址。 在 “编辑电子邮件地址 ”页下,更改/编辑 主电子邮件地址,添加/删除 别名,然后单击“ 保存更改”。

还可以选择组,然后单击工具栏中的“ 编辑电子邮件地址 ”以更改/编辑 主电子邮件地址,添加/删除 别名,然后单击“ 保存更改”。

Members

使用此部分可更改/编辑以下内容:

  • “所有者 ”部分下,单击“ 查看所有和管理所有者 ”,从下拉列表中添加/删除组所有者,然后单击“ 保存更改”。 通讯组列表组必须至少有一个所有者。

  • 在“ 成员 ”部分下,单击“ 查看所有和管理成员 ”,从下拉列表中添加/删除组成员,然后单击“ 保存更改”。 通讯组列表组必须至少有一个成员。

设置

“常规设置” 部分下,如果希望允许 外部用户向此组发送电子邮件, 请选择复选框“允许外部发件人向此组发送电子邮件”。

传递管理

使用此部分可以管理谁将电子邮件发送到该组。

  • 发件人选项:默认情况下,只有组织内部的人员才能向此组发送邮件。 还可以允许组织外部的人员向此组发送消息。

  • 仅允许来自我组织内部人员的邮件:选择此选项可仅允许组织中的发件人向组发送邮件。 这意味着如果组织外部的某个人向此组发送电子邮件,邮件将被拒绝。 这是默认设置。

  • 允许来自组织内外人员的邮件:选择此选项可允许任何人向组发送邮件。

  • 指定的发件人:可以通过仅允许特定发件人向此组发送邮件来进一步限制谁可以向组发送邮件。 从下拉列表中选择/删除一个或多个收件人/组。 向此列表中添加发件人后,这些发件人将是唯一能够向此组发送邮件的人员。 不在此列表中的任何人发送的邮件都将被拒绝。

    重要

    如果您已将此组配置为只允许组织内部的发件人向此组发送邮件,则从邮件联系人发送的电子邮件将被拒绝,即使这些联系人已添加到此列表中也是如此。

管理代理

使用此部分可以向用户分配权限(称为"代理"),允许他们以组身份发送邮件或代表组发送邮件。 可以分配以下权限:

  • 发送方式:此权限允许委托以组身份发送消息。 分配此权限后,委托可以选择将组添加到 “发件人 ”行,以指示该消息是由组发送的。

  • 代表发送:此权限还允许代理人代表组发送邮件。 分配此权限后,委托可以选择将组添加到 “发件人 ”行。 邮件将显示为由组发送,并将说明该邮件由代理代表组发送。

若要在 EAC 中向委托分配权限,请在 “编辑委托 ”页下添加委托,从下拉列表中选择 “权限类型” ,然后单击“ 保存更改”。

邮件审批

使用此部分可以设置用于仲裁组的选项。 审阅人可以在发送到此组的邮件到达组成员之前批准或拒绝邮件。

  • 对于发送到此组的邮件,需要审查者批准:默认情况下未选中此检查框。 如果选中此复选框,则在传递传入邮件之前将由组审阅人检查邮件。 组审阅人可以批准或拒绝传入邮件。

  • 组审查员:若要添加/删除组审查员,请从下拉列表中搜索/添加用户。 如果已为 发送到此组的邮件选择了“需要审查人审批 ”,并且未选择审查人,则发送到该组的消息将发送给组所有者进行审批。

  • 添加不需要邮件审批的发件人:若要添加/删除可绕过此组审查的用户,请从下拉列表中搜索/添加用户。

  • 如果发件人的邮件未获批准,则通知发件人:使用此部分可设置通知用户有关邮件审批的通知方式。

  • 仅限发件人:这是默认设置。 当组织内部和外部发件人的邮件未得到批准时,通知所有发件人。

  • 仅限组织中的发件人:选择此选项时,只有组织中的用户或组在发送给该组的邮件未获得审查者的批准时收到通知。

  • 无通知:选择此选项时,不会将通知发送给邮件未经组审查者批准的发件人。

成员资格审批

使用此部分可编辑成员资格审批,并指定用户是否需要组所有者批准才能加入或离开此组。

  • 加入组:查看/编辑允许加入组的人员。

    1. 打开:任何人都可以在未经所有者批准的情况下加入此组。

    2. 已关闭:只有组所有者可以添加成员。 所有加入请求都将自动被拒绝。

    3. 所有者批准:任何人都可以请求加入此组,并且所有者必须批准该请求。

  • 离开组:查看/编辑允许离开组的人员。

    1. 打开:任何人都可以在未经组所有者批准的情况下离开此组。

    2. 已关闭:只有组所有者才能删除成员。 将自动拒绝所有离开请求。

使用 EAC 删除通讯组列表组

  1. 在 EAC 中,转到 “收件人>”。

  2. 在组列表中,选择要删除的通讯组列表组,然后单击“ 删除组”。

使用 EAC 将通讯组列表组转换为共享邮箱

可以将现有通讯组列表组转换为共享邮箱。 有关如何执行此操作的信息,请参阅 如何将通讯组列表转换为共享邮箱

使用 PowerShell 管理通讯组列表组

使用 Exchange Online PowerShell 创建通讯组列表组

此示例使用别名 itadmin 和名称 IT Administrators 创建通讯组。 通讯组在默认 OU 中创建,任何人都可以不经组拥有者批准加入该组。

New-DistributionGroup -Name "IT Administrators" -Alias itadmin -MemberJoinRestriction open

有关详细语法和参数信息,请参阅 New-DistributionGroup

使用 Exchange Online PowerShell 修改通讯组列表组

使用 Get-DistributionGroupSet-DistributionGroup cmdlet 查看和更改通讯组列表组的属性。 使用 Exchange Online PowerShell 的优点是能够更改 EAC 中不可用的属性以及更改多个组的属性。 有关哪些参数对应于通讯组组属性的信息,请参阅以下文章:

下面是使用 Exchange Online PowerShell 更改通讯组属性的一些示例。

本示例将西雅图员工通讯组的主 SMTP 地址 (也称为答复地址) 从 employees@contoso.com 更改为 sea.employees@contoso.com。 此外,之前的回复地址将保留为代理地址。

Set-DistributionGroup "Seattle Employees" -EmailAddresses SMTP:sea.employees@contoso.com,smtp:employees@contoso.com

以下示例启用对通讯组 Customer Support 的裁决,并将审查方设置为 Amy。 此外,如果从组织内部发送邮件的发件人的邮件未获批准,这一经过裁决的通讯组还会通知发件人。

Set-DistributionGroup -Identity "Customer Support" -ModeratedBy "Amy" -ModerationEnabled $true -SendModerationNotifications 'Internal'

以下示例将用户创建的通讯组 Dog Lovers 更改为需要组管理者批准用户加入组的请求。 此外,通过使用 BypassSecurityGroupManagerCheck 参数,不会通知组管理员对通讯组列表组的设置进行了更改。

Set-DistributionGroup -Identity "Dog Lovers" -MemberJoinRestriction 'ApprovalRequired' -BypassSecurityGroupManagerCheck

本示例将通讯组的成员导出到名为 DLGroupMembers.csv 的 .csv 文件。

$Groups = Get-DistributionGroup -ResultSize Unlimited
$Groups | ForEach-Object {
$group = $_
Get-DistributionGroupMember -Identity $group.Name -ResultSize Unlimited | ForEach-Object {
    New-Object -TypeName PSObject -Property @{
        Group = $group.DisplayName
        Member = $_.Name
        EmailAddress = $_.PrimarySMTPAddress
        RecipientType= $_.RecipientType
        }
    }
} | Export-CSV ".\DLGroupMembers.csv" -NoTypeInformation -Encoding UTF8

本示例将动态通讯组的成员导出到名为 DDLGroupMembers.csv 的 .csv 文件。

$Groups = Get-DynamicDistributionGroup -ResultSize Unlimited
$Groups | ForEach-Object {
$group = $_
Get-DynamicDistributionGroupMember -Identity $group.Name -ResultSize Unlimited | ForEach-Object {
    New-Object -TypeName PSObject -Property @{
        Group = $group.DisplayName
        Member = $_.Name
        EmailAddress = $_.PrimarySMTPAddress
        RecipientType= $_.RecipientType
        }
    }
} | Export-CSV ".\DDLGroupMembers.csv" -NoTypeInformation -Encoding UTF8

如何判断这些过程生效了?

若要验证是否已成功创建、修改或删除通讯组列表组,请执行以下步骤:

  • 在 EAC 中,选择组以查看更改的属性或功能。 根据更改的属性,它可能会显示在所选组的详细信息窗格中。

  • 在 Exchange Online PowerShell 中,将 GroupIdentity> 替换为<通讯组的名称、别名或电子邮件地址,并运行以下命令来验证设置:

    Get-DistributionGroup -Identity "<GroupIdentity>" | Format-List
    

    若要查看特定属性,请运行以下命令:

    Get-DistributionGroup -Identity "<GroupIdentity>" | Format-List Name,PrimarySmtpAddress
    
  • 若要获取组中的成员列表,请将 GroupIdentity> 替换为<通讯组的名称、别名或电子邮件地址,并运行以下命令:

    Get-DistributionGroupMember -Identity "<GroupIdentity>"
    

    有关详细语法和参数信息,请参阅 Get-DistributionGroupMember