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;
}
}
}