Skip to content

EXOGlobalAddressList

Parameters

Parameter Attribute DataType Description Allowed Values
Name Key String The Name parameter specifies the unique name of the GAL. The maximum length is 64 characters.
ConditionalCompany Write String[] The ConditionalCompany parameter specifies a precanned filter that's based on the value of the recipient's Company property.
ConditionalCustomAttribute1 Write String[] The ConditionalCustomAttribute1 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute1 property.
ConditionalCustomAttribute10 Write String[] The ConditionalCustomAttribute10 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute10 property.
ConditionalCustomAttribute11 Write String[] The ConditionalCustomAttribute11 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute11 property.
ConditionalCustomAttribute12 Write String[] The ConditionalCustomAttribute12 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute12 property.
ConditionalCustomAttribute13 Write String[] The ConditionalCustomAttribute13 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute13 property.
ConditionalCustomAttribute14 Write String[] The ConditionalCustomAttribute14 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute14 property.
ConditionalCustomAttribute15 Write String[] The ConditionalCustomAttribute15 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute15 property.
ConditionalCustomAttribute2 Write String[] The ConditionalCustomAttribute2 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute2 property.
ConditionalCustomAttribute3 Write String[] The ConditionalCustomAttribute3 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute3 property.
ConditionalCustomAttribute4 Write String[] The ConditionalCustomAttribute4 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute4 property.
ConditionalCustomAttribute5 Write String[] The ConditionalCustomAttribute5 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute5 property.
ConditionalCustomAttribute6 Write String[] The ConditionalCustomAttribute6 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute6 property.
ConditionalCustomAttribute7 Write String[] The ConditionalCustomAttribute7 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute7 property.
ConditionalCustomAttribute8 Write String[] The ConditionalCustomAttribute8 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute8 property.
ConditionalCustomAttribute9 Write String[] The ConditionalCustomAttribute9 parameter specifies a precanned filter that's based on the value of the recipient's CustomAttribute9 property.
ConditionalDepartment Write String[] The ConditionalDepartment parameter specifies a precanned filter that's based on the value of the recipient's Department property.
ConditionalStateOrProvince Write String[] The ConditionalStateOrProvince parameter specifies a precanned filter that's based on the value of the recipient's StateOrProvince property.
IncludedRecipients Write String[] The IncludedRecipients parameter specifies a precanned filter that's based on the recipient type. `,AllRecipients,MailboxUsers,MailContacts,MailGroups,MailUsers,Resources`
RecipientFilter Write String The RecipientFilter parameter specifies an OPath filter that's based on the value of any available recipient property.
Ensure Write String Specify if the Global Address List should exist or not. 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 String[] Access token used for authentication.

Description

This resource configures Global Address Lists in Exchange Online.

Permissions

Exchange

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

Roles

  • Read
  • Address Lists
  • Update
  • Address Lists

Role Groups

  • Read
  • None
  • Update
  • None

Office 365 Exchange Online

To authenticate with the Office 365 Exchange Online API, this resource requires the following permissions:

Delegated permissions

  • Read
  • None

  • Update

  • None

Application permissions

  • Read
  • Exchange.ManageAsApp

  • Update

  • Exchange.ManageAsApp

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
    {
        EXOGlobalAddressList 'EXOGlobalAddressList-Example'
        {
            Name                         = "Contoso Human Resources in Washington"
            ConditionalCompany           = "Contoso"
            ConditionalCustomAttribute1  = @("Payroll")
            ConditionalCustomAttribute2  = @("Benefits")
            ConditionalCustomAttribute3  = @("Recruiting")
            ConditionalCustomAttribute4  = @("Onboarding")
            ConditionalCustomAttribute5  = @("Training")
            ConditionalCustomAttribute6  = @("Compensation")
            ConditionalCustomAttribute7  = @("Compliance")
            ConditionalCustomAttribute8  = @("Diversity")
            ConditionalCustomAttribute9  = @("Talent")
            ConditionalCustomAttribute10 = @("Retention")
            ConditionalCustomAttribute11 = @("Wellbeing")
            ConditionalCustomAttribute12 = @("Relocation")
            ConditionalCustomAttribute13 = @("Contractors")
            ConditionalCustomAttribute14 = @("Interns")
            ConditionalCustomAttribute15 = @("Alumni")
            ConditionalDepartment        = "Human Resources"
            ConditionalStateOrProvince   = "Washington"
            IncludedRecipients           = 'AllRecipients'
            Ensure                       = "Present"
            ApplicationId                = $ApplicationId
            TenantId                     = $TenantId
            CertificateThumbprint        = $CertificateThumbprint
        }
    }
}

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
    {
        EXOGlobalAddressList 'EXOGlobalAddressList-Example'
        {
            Name                         = "Contoso Human Resources in Washington"
            ConditionalCompany           = "Contoso"
            ConditionalCustomAttribute1  = @("Payroll")
            ConditionalCustomAttribute2  = @("Benefits")
            ConditionalCustomAttribute3  = @("Recruiting")
            ConditionalCustomAttribute4  = @("Onboarding")
            ConditionalCustomAttribute5  = @("Training")
            ConditionalCustomAttribute6  = @("Compensation")
            ConditionalCustomAttribute7  = @("Compliance")
            ConditionalCustomAttribute8  = @("Diversity")
            ConditionalCustomAttribute9  = @("Talent")
            ConditionalCustomAttribute10 = @("Retention")
            ConditionalCustomAttribute11 = @("Wellbeing")
            ConditionalCustomAttribute12 = @("Relocation")
            ConditionalCustomAttribute13 = @("Contractors")
            ConditionalCustomAttribute14 = @("Interns")
            ConditionalCustomAttribute15 = @("Alumni")
            ConditionalDepartment        = "Finances" # Updated Property
            ConditionalStateOrProvince   = "Washington"
            IncludedRecipients           = 'AllRecipients'
            Ensure                       = "Present"
            ApplicationId                = $ApplicationId
            TenantId                     = $TenantId
            CertificateThumbprint        = $CertificateThumbprint
        }
    }
}

Example 3

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
    {
        EXOGlobalAddressList 'EXOGlobalAddressList-Example'
        {
            Name                  = "Contoso Human Resources in Washington"
            Ensure                = "Absent"
            ApplicationId         = $ApplicationId
            TenantId              = $TenantId
            CertificateThumbprint = $CertificateThumbprint
        }
    }
}