Skip to main content
Version: 2.1.1-preview

Test-MtHighPrivilegeServicePrincipalsForAllUsers

SYNOPSIS

Checks if any high-privilege first-party Microsoft service principals (e.g. Azure PowerShell, Azure CLI and Azure Developer CLI, Microsoft Graph Command Line Tools, Graph Explorer, Azure AD PowerShell, Exchange Online PowerShell, SharePoint Online Management Shell, Teams PowerShell, Power Platform CLI) are open to all users instead of requiring explicit assignment.

SYNTAX

Test-MtHighPrivilegeServicePrincipalsForAllUsers [-ProgressAction <ActionPreference>] [<CommonParameters>]

DESCRIPTION

A small set of Microsoft first-party applications carry broad, pre-consented delegated permissions to Azure Resource Manager and Microsoft Graph and are commonly used to enumerate or exfiltrate tenant data once an attacker has a foothold on any single user account. Unlike third-party apps, these Microsoft-owned apps can remain available without a visible service principal in the tenant and are easy to overlook when locking down 'Assignment required?'.

EXAMPLES

EXAMPLE 1

Test-MtHighPrivilegeServicePrincipalsForAllUsers

Returns true if none of the monitored high-privilege service principals can be used by any user.

PARAMETERS

-ProgressAction

Determines how PowerShell responds to progress updates generated by a script, cmdlet, or provider, such as the progress bars generated by Write-Progress.

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.

INPUTS

OUTPUTS

System.Boolean

NOTES

https://maester.dev/docs/commands/Test-MtHighPrivilegeServicePrincipalsForAllUsers