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

[玩转系统] 将动态通讯组成员导出到 CSV

作者:精品下载站 日期:2024-12-14 08:24:48 浏览:11 分类:玩电脑

将动态通讯组成员导出到 CSV


什么是 Office 365 动态分发组?

大多数人都知道通讯组列表,但动态通讯组比传统通讯组列表有几个优点。在 Office 365 环境中,动态通讯组 (DDL) 用于根据某些定义的规则或条件加快组织内电子邮件和其他信息的批量发送。

动态通讯组成员资格是根据特定的收件人筛选器和条件而不是定义的一组收件人来计算的。例如,您可以构建一个动态通讯组,旨在包含特定州、部门或职位等的所有收件人。当电子邮件发送到该组时,将根据收件人筛选器构建成员资格,然后发送到它的成员。

动态通讯组成员

使用动态通讯组的主要优点是成员资格是从收件人筛选器自动派生的。无需手动将成员添加到组中。由于没有定义的静态成员列表,因此获取所有成员的列表稍微困难一些。因此,组的大小不稳定(可能会增长或缩小)。

有时我们可能需要找出动态分发组的成员以及有多少成员。

如果您想要导出通讯组成员身份,可以参考我们的将 Office 365 通讯组成员导出为 CSV 博客。

如何查看动态通讯组成员?

在 EAC 中可以查看 DDL 的成员,但是它有局限性,比如需要单击每个组即可查看其成员。这可能会变得令人厌烦,尤其是在处理多个动态通讯组时。在这种情况下,您可以使用 Get-DynamicDistributionGroupGet-Recipient 等 PowerShell cmdlet 来获取动态通讯组的成员。我们构建了 PowerShell 脚本来列出动态通讯组及其成员和其他必要信息。

下载脚本:获取动态通讯组成员

脚本亮点:

  • 该脚本可以使用启用 MFA 的帐户执行。
  • 允许您根据组大小(即成员计数)过滤输出。
  • 您可以选择“导出所有动态通讯组的成员”或传递输入文件来单独获取特定群组的成员
  • 可以过滤输出以列出空组。即没有成员的 DDL
  • 将结果导出为 CSV
  • 您可以根据会员类型获取成员计数,例如用户邮箱、群组邮箱、共享邮箱、联系人等
  • 最重要的是,脚本将输出存储在格式良好的 2 个 CSV 文件中。一份包含详细信息,另一份包含摘要信息。
  • 动态分发组 - 摘要报告:以下是可用的列

    • 组显示名称,
  • 主 SMTP 地址,
  • 组别名,
  • 集团经理,
  • 从地址列表中隐藏,
  • 小组成员数,
  • 按类型划分的成员数量
  • 动态分发组 - 详细成员报告:以下是可用的列

    • 组显示名称,
  • 主 SMTP 地址,
  • 组别名,
  • 集团经理,
  • 小组成员数,
  • 小组成员,
  • 会员电子邮箱地址
  • 会员类型
  • 如何执行“DDL 成员报告”脚本?

    您可以根据您的要求选择以下任意一种方法。

    方法 1: 要使用启用 MFA 的帐户执行脚本,

    ./GetDynamicDistributionGroupMembers.ps1

    方法 2: 要使用非 MFA 帐户执行脚本,

    ./GetDynamicDistributionGroupMembers.ps1 -NoMFA

    方法 3:将凭据作为参数传递(调度程序友好)。

    ./GetDynamicDistributionGroupMembers.ps1 -UserName [email protected] -Password XXX -NoMFA

    如果管理员帐户具有 MFA,则必须使用条件访问策略禁用 MFA 才能使该脚本正常工作。另外,您可以采用基于证书的身份验证来连接到 Exchange Online PowerShell。

    脚本输出:

    导出的报告将类似于下面的屏幕截图。

    动态分布组 - 摘要报告:

    [玩转系统] 将动态通讯组成员导出到 CSV

    动态分布组 - 详细的成员报告:

    [玩转系统] 将动态通讯组成员导出到 CSV

    如何过滤输出?

    您可以使用参数来过滤输出以获得所需的结果,或者只需执行脚本来列出所有动态通讯组及其成员。

    ./GetDynamicDistributionGroupMembers.ps1
    从输入文件中的动态通讯组列表中导出成员

    要获取特定动态通讯组的成员,请使用 -GroupNamesFile传递输入文件。

    ./GetDynamicDistributionGroupMembers.ps1 -GroupNamesFile C:/InputFile.csv

    组名称 CSV 文件必须遵循以下格式: 显示组名称,以换行符分隔,不带标题。

    [玩转系统] 将动态通讯组成员导出到 CSV

    导出拥有超过“N”个成员的动态通讯组成员

    要根据群组成员数量过滤结果,您可以使用-MinGroupMembersCount 参数。即,您可以获得成员数量超过指定数量的组。

    ./GetDynamicDistributionGroupMembers.ps1 -MinGroupMembersCount 50

    上面的脚本报告了拥有超过 50 个成员的所有动态通讯组列表。

    导出空动态通讯组

    要获取空的动态通讯组(即没有成员的动态通讯组),请使用 -IsEmpty 执行脚本 参数。

    ./GetDynamicDistributionGroupMembers.ps1 -IsEmpty

    使用此过滤器,您可以删除租户中未使用的可用动态通讯组列表。

    我怎样才能安排这个脚本?

    您可以通过明确提及凭据来在任务计划程序中计划此脚本。

    <Script Location>\.GetDynamicDistributionGroupMembers.ps1 -UserName <UserName> -Password <Password> -NoMFA

    要了解有关调度 Powershell 脚本的更多信息,请参阅我们的博客:使用任务计划程序调度 PowerShell 脚本。

    我希望这篇文章对您有所帮助。如果您修改脚本并将其用于其他用例,请在评论部分留下您的想法并帮助更多管理员。

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

    取消回复欢迎 发表评论:

    关灯