Вам не хватает двойной кавычки вокруг вашего фильтра. Когда вы используете RecipientFilter
без кавычек, RecipientType
становится «командлетом, функцией, файлом сценария или работающей программой», о которой вы ожидаете, что PowerShell знает. Поскольку это заданный c - Set-DynamicDistributionGroup
командлет, его необходимо отправить в виде строки в этот командлет в качестве значения.
Set-DynamicDistributionGroup -Identity 'xyz' -RecipientFilter "((((RecipientType -eq 'UserMailbox') -or (((RecipientType -eq 'MailUniversalDistributionGroup') -or (RecipientType -eq 'MailUniversalSecurityGroup') -or (RecipientType -eq 'MailNonUniversalGroup') -or (RecipientType -eq 'DynamicDistributionGroup'))) -or (((RecipientType -eq 'UserMailbox') -and (ResourceMetaData -like 'ResourceType:*') -and (ResourceSearchProperties -ne $null))))) -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')) -and (-not(PrimarySmtpAddress -eq 'xyz')))"
См. Документацию и примеры по MS