Skip to content

EXODynamicDistributionGroup

Parameters

Parameter Attribute DataType Description Allowed Values
AcceptMessagesOnlyFrom Write StringArray[] The AcceptMessagesOnlyFrom parameter specifies who is allowed to send messages to this recipient.
AcceptMessagesOnlyFromDLMembers Write StringArray[] The AcceptMessagesOnlyFromDLMembers parameter specifies who is allowed to send messages to this recipient. Messages from other senders are rejected.
Alias Write String The Alias parameter specifies the Exchange alias (also known as the mail nickname) for the recipient. This value identifies the recipient as a mail-enabled object, and shouldn't be confused with multiple email addresses for the same recipient (also known as proxy addresses). A recipient can have only one Alias value. The maximum length is 64 characters.
BypassModerationFromSendersOrMembers Write StringArray[] The BypassModerationFromSendersOrMembers parameter specifies who is allowed to send messages to this moderated recipient without approval from a moderator. Valid values for this parameter are individual senders and groups in your organization. Specifying a group means all members of the group are allowed to send messages to this recipient without approval from a moderator.
ConditionalCompany Write String The ConditionalCompany parameter specifies a precanned filter that's based on the value of the recipient's Company property. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute1 Write StringArray[] The ConditionalCustomAttribute1 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute1 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute10 Write StringArray[] The ConditionalCustomAttribute10 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute10 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute11 Write StringArray[] The ConditionalCustomAttribute11 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute11 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute12 Write StringArray[] The ConditionalCustomAttribute12 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute12 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute13 Write StringArray[] The ConditionalCustomAttribute13 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute13 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute14 Write StringArray[] The ConditionalCustomAttribute14 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute14 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute15 Write StringArray[] The ConditionalCustomAttribute15 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute15 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute2 Write StringArray[] The ConditionalCustomAttribute2 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute2 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute3 Write StringArray[] The ConditionalCustomAttribute3 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute3 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute4 Write StringArray[] The ConditionalCustomAttribute4 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute4 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute5 Write StringArray[] The ConditionalCustomAttribute5 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute5 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute6 Write StringArray[] The ConditionalCustomAttribute6 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute6 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute7 Write StringArray[] The ConditionalCustomAttribute7 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute7 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute8 Write StringArray[] The ConditionalCustomAttribute8 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute8 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalCustomAttribute9 Write StringArray[] The ConditionalCustomAttribute9 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute9 property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalDepartment Write StringArray[] The ConditionalDepartment parameter specifies a precanned filter that's based on the value of the recipient's Department property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
ConditionalStateOrProvince Write StringArray[] The ConditionalStateOrProvince parameter specifies a precanned filter that's based on the value of the recipient's StateOrProvince property. You can specify multiple values separated by commas. When you use multiple values for this parameter, the OR Boolean operator is applied.
CustomAttribute1 Write String This parameter specifies a value for the CustomAttribute1 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute10 Write String This parameter specifies a value for the CustomAttribute10 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute11 Write String This parameter specifies a value for the CustomAttribute11 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute12 Write String This parameter specifies a value for the CustomAttribute12 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute13 Write String This parameter specifies a value for the CustomAttribute13 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute14 Write String This parameter specifies a value for the CustomAttribute14 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute15 Write String This parameter specifies a value for the CustomAttribute15 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute2 Write String This parameter specifies a value for the CustomAttribute2 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute3 Write String This parameter specifies a value for the CustomAttribute3 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute4 Write String This parameter specifies a value for the CustomAttribute4 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute5 Write String This parameter specifies a value for the CustomAttribute5 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute6 Write String This parameter specifies a value for the CustomAttribute6 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute7 Write String This parameter specifies a value for the CustomAttribute7 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute8 Write String This parameter specifies a value for the CustomAttribute8 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
CustomAttribute9 Write String This parameter specifies a value for the CustomAttribute9 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. The maximum length is 1024 characters.
DisplayName Write String The DisplayName parameter specifies the display name of the dynamic distribution group. The display name is visible in the Exchange admin center and in address lists. The maximum length is 256 characters.
EmailAddresses Write StringArray[] The EmailAddresses parameter specifies all email addresses (proxy addresses) for the recipient, including the primary SMTP address.
ExtensionCustomAttribute1 Write StringArray[] This parameter specifies a value for the ExtensionCustomAttribute1 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. You can specify up to 1300 values separated by commas.
ExtensionCustomAttribute2 Write String This parameter specifies a value for the ExtensionCustomAttribute2 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. You can specify up to 1300 values separated by commas.
ExtensionCustomAttribute3 Write String This parameter specifies a value for the ExtensionCustomAttribute3 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. You can specify up to 1300 values separated by commas.
ExtensionCustomAttribute4 Write String This parameter specifies a value for the ExtensionCustomAttribute4 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. You can specify up to 1300 values separated by commas.
ExtensionCustomAttribute5 Write String This parameter specifies a value for the ExtensionCustomAttribute5 property on the recipient. You can use this property to store custom information about the recipient, and to identify the recipient in filters. You can specify up to 1300 values separated by commas.
GrantSendOnBehalfTo Write StringArray[] The GrantSendOnBehalfTo parameter specifies who can send on behalf of this dynamic distribution group. Although messages send on behalf of the group clearly show the sender in the From field (<Sender> on behalf of <Group>), replies to these messages are delivered to the group, not the sender.
HiddenFromAddressListsEnabled Write Boolean The HiddenFromAddressListsEnabled parameter specifies whether this recipient is visible in address lists. Valid values are: $true: The recipient isn't visible in address lists. $false: The recipient is visible in address lists. This value is the default.
Identity Key String The Identity parameter specifies the dynamic distribution group that you want to modify. You can use any value that uniquely identifies the dynamic distribution group.
IncludedRecipients Write StringArray[] The IncludedRecipients parameter specifies a precanned filter that's based on the recipient type. Valid values are: AllRecipients: This value can be used only by itself. MailboxUsers. MailContacts. MailGroups. MailUsers. Resources: This value indicates room or equipment mailboxes. You can specify multiple values separated by commas. When you use multiple values, the OR Boolean operator is applied. AllRecipients, MailboxUsers, MailboxContacts, MailGroups, MailUsers, Resources
MailTip Write String The MailTip parameter specifies the custom MailTip text for this recipient. The MailTip is shown to senders when they start drafting an email message to this recipient. If the value contains spaces, enclose the value in quotation marks (").
MailTipTranslations Write StringArray[] The MailTipTranslations parameter specifies additional languages for the custom MailTip text that's defined by the MailTip parameter. HTML tags are automatically added to the MailTip translation, additional HTML tags aren't supported, and the length of the MailTip translation can't exceed 175 displayed characters.
ManagedBy Write String The ManagedBy parameter specifies an owner for the group. A dynamic group can only have one owner.
ModeratedBy Write StringArray[] The ModeratedBy parameter specifies one or more moderators for this recipient. A moderator approves messages sent to the recipient before the messages are delivered. A moderator must be a mailbox, mail user, or mail contact in your organization. You can use any value that uniquely identifies the moderator.
ModerationEnabled Write Boolean The ModerationEnabled parameter specifies whether moderation is enabled for this recipient.
Name Write String The Name parameter specifies the unique name of the dynamic distribution group. The maximum length is 64 characters.
Notes Write String The Notes parameters specifies additional information about the object.
PhoneticDisplayName Write String The PhoneticDisplayName parameter specifies an alternate spelling of the user's name that's used for text to speech in Unified Messaging (UM) environments. Typically, you use this parameter when the pronunciation and spelling of the user's name don't match. The maximum length is 256 characters.
PrimarySmtpAddress Write String The PrimarySmtpAddress parameter specifies the primary return email address that's used for the recipient.
RecipientContainer Write String The RecipientContainer parameter specifies a filter that's based on the recipient's location in Active Directory. Valid input for this parameter is an organizational unit (OU) or domain that's returned by the Get-OrganizationalUnit cmdlet. You can use any value that uniquely identifies the OU or domain.
RecipientFilter Write String The RecipientFilter parameter specifies a custom OPATH filter that's based on the value of any available recipient property. You can use any available Windows PowerShell operator, and wildcards and partial matches are supported. The search criteria uses the syntax "Property -ComparisonOperator 'Value'".
RejectMessagesFrom Write StringArray[] The RejectMessagesFrom parameter specifies who isn't allowed to send messages to this recipient. Messages from these senders are rejected.
RejectMessagesFromDLMembers Write StringArray[] The RejectMessagesFromDLMembers parameter specifies who isn't allowed to send messages to this recipient. Messages from these senders are rejected.
RejectMessagesFromSendersOrMembers Write StringArray[] The RejectMessagesFromSendersOrMembers parameter specifies who isn't allowed to send messages to this recipient. Messages from these senders are rejected.
ReportToManagerEnabled Write Boolean The ReportToManagerEnabled parameter specifies whether delivery status notifications (also known as DSNs, non-delivery reports, NDRs, or bounce messages) are sent to the owners of the group (defined by the ManagedBy property).
ReportToOriginatorEnabled Write Boolean The ReportToOriginatorEnabled parameter specifies whether delivery status notifications (also known as DSNs, non-delivery reports, NDRs, or bounce messages) are sent to senders who send messages to this group.
RequireSenderAuthenticationEnabled Write Boolean The RequireSenderAuthenticationEnabled parameter specifies whether to accept messages only from authenticated (internal) senders.
SendModerationNotifications Write String The SendModerationNotifications parameter specifies when moderation notification messages are sent. Valid values are: Always: Notify all senders when their messages aren't approved. This value is the default. Internal: Notify senders in the organization when their messages aren't approved. Never: Don't notify anyone when a message isn't approved. Always, Internal, Never
SendOofMessageToOriginatorEnabled Write Boolean The SendOofMessageToOriginatorEnabled parameter specifies how to handle out of office (OOF) messages for members of the group.
SimpleDisplayName Write String The SimpleDisplayName parameter is used to display an alternative description of the object when only a limited set of characters is permitted.
WindowsEmailAddress Write String The WindowsEmailAddress parameter specifies the Windows email address for this recipient. This is a common Active Directory attribute that's present in all environments, including environments without Exchange.
Ensure Write String Present ensures the policy exists, absent ensures it is removed. Present, Absent
Credential Write PSCredential Credentials of the Exchange Global Admin
ApplicationId Write String Id of the Azure Active Directory application to authenticate with.
TenantId Write String Id of the Azure Active Directory tenant used for authentication.
CertificateThumbprint Write String Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.
CertificatePassword Write PSCredential Username can be made up to anything but password will be used for CertificatePassword
CertificatePath Write String Path to certificate used in service principal usually a PFX file.
ManagedIdentity Write Boolean Managed ID being used for authentication.
AccessTokens Write StringArray[] Access token used for authentication.

Description

This resource configures Exchange Online dynamic distribution groups.

Please note: The exported RecipientFilter is a best-effort conversion. Please update it manually to the filter it should correspond to.

Permissions

Exchange

To authenticate with Microsoft Exchange, this resource requires the following permissions:

Roles

  • Read
  • Update

Role Groups

  • Read
  • None
  • Update
  • None

Examples

Example 1

This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.

Configuration Example
{
    param(
        [Parameter()]
        [System.String]
        $ApplicationId,

        [Parameter()]
        [System.String]
        $TenantId,

        [Parameter()]
        [System.String]
        $CertificateThumbprint
    )
    Import-DscResource -ModuleName Microsoft365DSC

    node localhost
    {
        EXODynamicDistributionGroup "EXODynamicDistributionGroup-EXODynamicDistributionGroup_1"
        {
            AcceptMessagesOnlyFrom               = @();
            AcceptMessagesOnlyFromDLMembers      = @();
            Alias                                = "dynamicdistributiongroup_1";
            ApplicationId                        = $ConfigurationData.NonNodeData.ApplicationId;
            BypassModerationFromSendersOrMembers = @();
            CertificateThumbprint                = $ConfigurationData.NonNodeData.CertificateThumbprint;
            DisplayName                          = "EXODynamicDistributionGroup_1";
            EmailAddresses                       = @("SMTP:dynamicdistributiongroup_1@contoso.onmicrosoft.com");
            Ensure                               = "Present";
            ExtensionCustomAttribute1            = @();
            ExtensionCustomAttribute2            = @();
            ExtensionCustomAttribute3            = @();
            ExtensionCustomAttribute4            = @();
            ExtensionCustomAttribute5            = @();
            GrantSendOnBehalfTo                  = @();
            HiddenFromAddressListsEnabled        = $True; # Updated property
            Identity                             = "EXODynamicDistributionGroup_1";
            MailTipTranslations                  = @();
            ManagedBy                            = "admin@contoso.onmicrosoft.com";
            ModeratedBy                          = @("admin2@contoso.onmicrosoft.com");
            ModerationEnabled                    = $True;
            Name                                 = "EXODynamicDistributionGroup_1";
            PrimarySmtpAddress                   = "dynamicdistributiongroup_1@contoso.onmicrosoft.com";
            RecipientContainer                   = "contoso.onmicrosoft.com";
            RecipientFilter                      = "((Title -eq 'Architect') -or (Title -eq 'Title'))";
            RejectMessagesFrom                   = @();
            RejectMessagesFromDLMembers          = @();
            ReportToManagerEnabled               = $False;
            ReportToOriginatorEnabled            = $True;
            RequireSenderAuthenticationEnabled   = $True;
            SendModerationNotifications          = "Always";
            SendOofMessageToOriginatorEnabled    = $False;
            SimpleDisplayName                    = "";
            TenantId                             = $OrganizationName;
            WindowsEmailAddress                  = "dynamicdistributiongroup_1@contoso.onmicrosoft.com";
        }
    }
}

Example 2

This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.

Configuration Example
{
    param(
        [Parameter()]
        [System.String]
        $ApplicationId,

        [Parameter()]
        [System.String]
        $TenantId,

        [Parameter()]
        [System.String]
        $CertificateThumbprint
    )
    Import-DscResource -ModuleName Microsoft365DSC

    node localhost
    {
        EXODynamicDistributionGroup "EXODynamicDistributionGroup-EXODynamicDistributionGroup_1"
        {
            ApplicationId                        = $ConfigurationData.NonNodeData.ApplicationId;
            CertificateThumbprint                = $ConfigurationData.NonNodeData.CertificateThumbprint;
            DisplayName                          = "EXODynamicDistributionGroup_1";
            Ensure                               = "Absent";
            Identity                             = "EXODynamicDistributionGroup_1";
            Name                                 = "EXODynamicDistributionGroup_1";
            TenantId                             = $OrganizationName;
        }
    }
}