New-MtMaesterApp
SYNOPSIS
Creates a new Maester application in Entra ID with required permissions.
SYNTAX
New-MtMaesterApp [[-Name] <String>] [-SendMail] [-SendTeamsMessage] [-Privileged] [[-Scopes] <String[]>]
[[-GitHubOrganization] <String>] [[-GitHubRepository] <String>] [-ProgressAction <ActionPreference>]
[<CommonParameters>]
DESCRIPTION
Creates a new application registration in Entra ID specifically configured for running Maester tests in a DevOps pipeline. The application will be granted the necessary Graph API permissions based on the specified parameters and tagged for easy identification.
The user running this command must have a permissions to create applications and consent to Graph Permissions. This requires a minimum of being a Privileged Role Administrator (and Cloud Application Administrator if needed) or Global Administrator.
EXAMPLES
EXAMPLE 1
New-MtMaesterApp
Creates a new Maester app with default permissions and name 'Maester DevOps Account'.
EXAMPLE 2
New-MtMaesterApp -Name "My Maester Pipeline App" -SendMail
Creates a new Maester app with mail sending capabilities.
EXAMPLE 3
New-MtMaesterApp -Privileged -Scopes @("User.Read.All", "Group.Read.All")
Creates a new Maester app with privileged scopes and additional custom scopes.
PARAMETERS
-Name
The display name for the application. If not specified, defaults to 'Maester DevOps Account'.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SendMail
If specified, includes the Mail.Send permission scope.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-SendTeamsMessage
If specified, includes the ChannelMessage.Send permission scope.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-Privileged
If specified, includes privileged permission scopes for read-write operations.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-Scopes
Additional custom permission scopes to include beyond the default Maester scopes.
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: 2
Default value: @()
Accept pipeline input: False
Accept wildcard characters: False
-GitHubOrganization
If specified adds federated credential for GitHub Actions Your GitHub organization name or GitHub username. E.g. jasonf
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-GitHubRepository
Your GitHub repository name where the GitHub Actions workflow is located. E.g. maester-tests
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ProgressAction
{{ Fill ProgressAction Description }}
Type: ActionPreference
Parameter Sets: (All)
Aliases: proga
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.