AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1085096
Accepted
David
David
Asked: 2021-12-02 07:55:03 +0800 CST2021-12-02 07:55:03 +0800 CST 2021-12-02 07:55:03 +0800 CST

Powershell 从动态分发列表 O365 中排除组成员

  • 772

我正在 Office 365 在线交换中创建一个全动态通讯组。我正在使用 Powershell 执行此操作。我们将这个组称为 AllTestGroup。这是有关设置的一些信息。

  • 在线交流
  • 本地活动目录
  • 大多数邮箱都与本地广告用户相关联。(广告同步)
  • 一些邮箱是仅限云的。
  • 在广告用户的帐户中找不到自定义属性或扩展属性(继承问题)。但是它确实有 msDS-CloudExtensionAttribute0-20。当你设置一个时,它不会出现在 Office 365 端。此外,当您尝试添加时,我们会收到一个 azure Active Directory 并在线交换错误“无法更新本地主控目录同步对象或当前正在迁移的对象的指定属性。DualWrite (Graph)”

这是客户需要/要求的:

  • 包含所有 UserMailbox 的单个组
  • 没有邮件联系人
  • 排除此 AD 组中的任何人"CN=AllExclusion,OU=SG,DC=Example,DC=Local"
  • 排除此 O365 通讯组中的任何人:[email protected]
  • 无额外费用

这是我为此创建的过滤器:

(`
    (RecipientType -eq 'UserMailbox') `
    -and (-not(RecipientType -eq 'MailContact')) `
    -and (-not(MemberOfGroup -eq 'CN=AllExclusion,OU=SG,DC=Example,DC=Local')) `
    -and (-not(MemberOfGroup -eq '[email protected]')) `
    -and (-not(Name -like 'SystemMailbox{*')) `
    -and (-not(Name -like 'CAS_{*')) `
    -and (-not(RecipientTypeDetailsValue -eq 'MailboxPlan')) `
    -and (-not(RecipientTypeDetailsValue -eq 'DiscoveryMailbox')) `
    -and (-not(RecipientTypeDetailsValue -eq 'PublicFolderMailbox')) `
    -and (-not(RecipientTypeDetailsValue -eq 'ArbitrationMailbox')) `
    -and (-not(RecipientTypeDetailsValue -eq 'AuditLogMailbox')) `
    -and (-not(RecipientTypeDetailsValue -eq 'AuxAuditLogMailbox')) `
    -and (-not(RecipientTypeDetailsValue -eq 'SupervisoryReviewPolicyMailbox')) `
    -and (-not(RecipientTypeDetailsValue -eq 'GuestMailUser'))`
)

(使用 ` 标记拆分代码以提高可读性。)这是我面临的问题。当我运行Get-DynamicDistributionGroupMemeber时,我仍然看到 AllExclusion 安全组中的用户。我还看到了 [email protected] 的成员。例如,Ellan Smith 属于 AllExclusion 安全组。她出现在名单上。为了确保完全同步,我运行了 Start-ADSyncSyncCycle - PolicyType Initial 和 Delta。我等了 20 分钟,然后再试一次。结果相同。

我觉得我错过了一些小东西,但我不知道那是什么。

powershell microsoft-office-365 exchangeonline
  • 1 1 个回答
  • 1450 Views

1 个回答

  • Voted
  1. Best Answer
    David
    2021-12-02T13:34:12+08:002021-12-02T13:34:12+08:00

    这是一个独特的情况。当我应该从 Azure AD 中提取时,我试图从本地 AD 中提取。在这一行:

    -and (-not(MemberOfGroup -eq 'CN=AllExclusion,OU=SG,DC=Example,DC=Local')) `
    

    我的目标是从本地 AD 中排除 DN 名称。我需要获取 Azure AD 的 DN。这样做的原因是因为在线交换指向的是 azure 而不是本地广告。如果这是本地本地交换,这将起作用,但事实并非如此。要获取 DN,您需要运行以下命令:

    (Get-DistributionGroup AllExclusion).DistinguishedName
    

    DN 会大得多。它看起来像这样:

    CN=AllExclusion,OU=Example.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=NAMPR##A###,DC=PROD,DC=OUTLOOK,DC=COM
    

    因此,您的排除将如下所示:

    -and (-not(MemberOfGroup -eq 'CN=AllExclusion,OU=Example.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=NAMPR##A###,DC=PROD,DC=OUTLOOK,DC=COM'))
    

    这是最终的收件人过滤器的样子:

    (
        (RecipientType -eq 'UserMailbox') `
        -and (RecipientType -ne 'MailContact') `
        -and (MemberOfGroup -ne 'CN=AllExclusion,OU=Example.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=NAMPR##A###,DC=PROD,DC=OUTLOOK,DC=COM') `
        -and (Name -notlike 'SystemMailbox{*') `
        -and (Name -notlike 'CAS_{*') `
        -and (RecipientTypeDetailsValue -ne 'MailboxPlan') `
        -and (RecipientTypeDetailsValue -ne 'DiscoveryMailbox') `
        -and (RecipientTypeDetailsValue -ne 'PublicFolderMailbox') `
        -and (RecipientTypeDetailsValue -ne 'ArbitrationMailbox') `
        -and (RecipientTypeDetailsValue -ne 'AuditLogMailbox') `
        -and (RecipientTypeDetailsValue -ne 'AuxAuditLogMailbox') `
        -and (RecipientTypeDetailsValue -ne 'SupervisoryReviewPolicyMailbox') `
        -and (RecipientTypeDetailsValue -ne 'GuestMailUser')`
    )
    
    • 1

相关问题

  • 资源锁和电源外壳

  • 脚本 - 如何断开远程桌面会话?

  • 如何限制向通讯组发送到外部地址?

  • Powershell对值与数组的作用不同?

  • Windows Powershell Vim 键绑定

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve