Рейтинг:0

Powershell для исключения членов группы из динамического списка рассылки O365

флаг ye

Я создаю всю динамическую группу рассылки в обмене Office 365 онлайн. Я делаю это с помощью Powershell. Мы назовем эту группу AllTestGroup. Вот некоторая информация об установке.

  • Обмен онлайн
  • Локальная Active Directory
  • Большинство почтовых ящиков связаны с пользователем локальной рекламы. (Синхронизация с AD)
  • Несколько почтовых ящиков доступны только в облаке.
  • В учетной записи пользователя рекламы не найдены настраиваемые атрибуты или атрибуты расширения (унаследованная проблема). Однако у него есть msDS-CloudExtensionAttribute0-20. Когда вы устанавливаете один, он не отображается на стороне Office 365. Кроме того, когда вы пытаетесь добавить, мы получаем активный каталог azure и обмениваемся онлайн-ошибкой «Невозможно обновить указанные свойства для локальных основных объектов синхронизации каталогов или объектов, которые в настоящее время проходят миграцию. DualWrite (Graph)»

Вот что нужно/требуется клиенту:

  • Единая группа, содержащая все UserMailbox
  • Нет почтыКонтакты
  • Исключить всех в этой группе объявлений «CN = AllExclusion, OU = SG, DC = Пример, DC = Локальный»
  • Исключить всех в этой группе рассылки 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-динамикдистрибутионграупмемебер, я все еще вижу пользователей внутри группы безопасности AllExclusion. Я также встречаюсь с членами [email protected]. Например, Эллан Смит входит в группу безопасности AllExclusion. Она появляется в списке. Чтобы убедиться, что я полностью синхронизирован, я запустил Start-ADSyncSyncCycle — PolicyType Initial и Delta. Я подождал рекомендованные 20 минут и попробовал еще раз. Те же результаты.

Я чувствую, что мне не хватает чего-то небольшого, но я не знаю, что это такое.

Рейтинг:1
флаг ye

Это уникальная ситуация. Я пытался получить из локальной AD, когда я должен был получить из Azure AD. В этой строке:

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

Я нацелился на DN-имя для исключения из локальной AD. Мне нужно получить DN для Azure AD. Причина этого в том, что онлайн-обмен указывает на лазурное, а не на локальное объявление. Если бы это была локальная локальная биржа, это сработало бы, но это не так. Чтобы получить 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') `
    -и (Имя -не похоже на 'SystemMailbox{*') `
    -и (Имя -не похоже на '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')`
)
Joy Zhang avatar
флаг us
Спасибо, что поделились :) Вы можете отметить окончательное решение как лучший ответ, если кто-то столкнется с той же проблемой, они смогут быстро найти решение.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.