Skip to content

EXOServicePrincipal

Parameters

Parameter Attribute DataType Description Allowed Values
AppName Key String The AppName parameter specifies the corresponding friendly name of the unique AppId GUID value for the service principal.
DisplayName Write String The DisplayName parameter specifies the friendly name of the service principal.
Identity Write String The Identity parameter specifies the service principal that you want to view.
AppId Write String The AppId parameter specifies the unique AppId GUID value for the service principal.
Ensure Write String Present ensures the group 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.
ManagedIdentity Write Boolean Managed ID being used for authentication.
AccessTokens Write StringArray[] Access token used for authentication.

Description

This resources configures an EXO Service Principal.

Permissions

Exchange

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

Roles

  • Read
  • Role Management
  • Update
  • Role Management

Role Groups

  • Read
  • Organization Management
  • Update
  • Organization Management

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
    {
        EXOServicePrincipal 'ServicePrincipal'
        {
            AppId                = "c6871074-3ded-4935-a5dc-b8f8d91d7d06";
            AppName              = "ISV Portal";
            DisplayName          = "Arpita";
            Ensure               = "Present";
            Identity             = "00f6b0e4-1d00-427b-9a5b-ce6c43c43fc7";
            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
    {
        EXOServicePrincipal 'ServicePrincipal'
        {
            AppId                = "c6871074-3ded-4935-a5dc-b8f8d91d7d06";
            AppName              = "ISV Portal";
            DisplayName          = "Kartikeya";
            Ensure               = "Present";
            Identity             = "00f6b0e4-1d00-427b-9a5b-ce6c43c43fc7";
            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
    {
        EXOServicePrincipal 'ServicePrincipal'
        {
            AppId                = "c6871074-3ded-4935-a5dc-b8f8d91d7d06";
            AppName              = "ISV Portal";
            DisplayName          = "Arpita";
            Ensure               = "Absent";
            Identity             = "00f6b0e4-1d00-427b-9a5b-ce6c43c43fc7";
            ApplicationId         = $ApplicationId;
            TenantId              = $TenantId;
            CertificateThumbprint = $CertificateThumbprint;
        }
    }
}