Skip to main content

SYNOPSIS

Retrieves all Entra ID applications configured for SAML SSO.

SYNTAX

All (Default)

Get-MgApplicationSAML [-ForceNewToken] [-ExportToExcel] [-RunFromAzureAutomation]
 [-ExpirationThresholdDays <Int32>] [-NotificationRecipient <String>] [-NotificationSender <String>]
 [-IncludeSignInStats] [-ProgressAction <ActionPreference>] [<CommonParameters>]

ByObjectId

Get-MgApplicationSAML [-ObjectID <String>] [-ForceNewToken] [-ExportToExcel] [-RunFromAzureAutomation]
 [-ExpirationThresholdDays <Int32>] [-NotificationRecipient <String>] [-NotificationSender <String>]
 [-IncludeSignInStats] [-ProgressAction <ActionPreference>] [<CommonParameters>]

ByDisplayName

Get-MgApplicationSAML [-DisplayName <String>] [-ForceNewToken] [-ExportToExcel] [-RunFromAzureAutomation]
 [-ExpirationThresholdDays <Int32>] [-NotificationRecipient <String>] [-NotificationSender <String>]
 [-IncludeSignInStats] [-ProgressAction <ActionPreference>] [<CommonParameters>]

DESCRIPTION

This function returns a list of all Entra ID applications configured for SAML Single Sign-On along with their SAML-related properties, including the PreferredTokenSigningKeyEndDateTime and its validity status.

EXAMPLES

EXAMPLE 1

Get-MgApplicationSAML
Retrieves all Entra ID applications configured for SAML SSO.

EXAMPLE 2

Get-MgApplicationSAML -IncludeSignInStats
Retrieves all Entra ID applications configured for SAML SSO with sign-in statistics for the last 30 days.

EXAMPLE 3

Get-MgApplicationSAML -ObjectID "xxx-xxx-xxx"
Retrieves the SAML configuration for a specific application by its ObjectID.

EXAMPLE 4

Get-MgApplicationSAML -DisplayName "My SAML App"
Retrieves the SAML configuration for a specific application by its DisplayName.

EXAMPLE 5

Get-MgApplicationSAML -ForceNewToken
Forces the function to disconnect and reconnect to Microsoft Graph to obtain a new access token.

EXAMPLE 6

Get-MgApplicationSAML -ExportToExcel
Gets all SAML applications and exports them to an Excel file.

EXAMPLE 7

Get-MgApplicationSAML -RunFromAzureAutomation -ExpirationThresholdDays 30 -NotificationRecipient 'admin@company.com' -NotificationSender 'automation@company.com'
Gets all SAML applications using managed identity authentication and sends notification for certificates expiring within 30 days.

EXAMPLE 8

Get-MgApplicationSAML -RunFromAzureAutomation -ExpirationThresholdDays 7 -NotificationRecipient 'admin@company.com' -NotificationSender 'automation@company.com'
Gets all SAML applications using managed identity and sends email notification for certificates expiring within 7 days.

PARAMETERS

-ObjectID

(Optional) Retrieves the SAML configuration for a specific application by its ObjectID.
Type: String
Parameter Sets: ByObjectId
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-DisplayName

(Optional) Retrieves the SAML configuration for a specific application by its DisplayName.
Type: String
Parameter Sets: ByDisplayName
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ForceNewToken

(Optional) Forces the function to disconnect and reconnect to Microsoft Graph to obtain a new access token.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-ExportToExcel

(Optional) If specified, exports the results to an Excel file in the user’s profile directory.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-RunFromAzureAutomation

(Optional) If specified, uses managed identity authentication instead of interactive authentication. This is useful when running the script in Azure environments like Azure Functions, Logic Apps, or VMs with managed identity enabled. When this parameter is used, ExpirationThresholdDays, NotificationRecipient and NotificationSender are required. PowerShell modules used in Azure Automation must be a MAXIMUM of version 2.25.0 when using PowerShell < 7.4.0, because starting from version 2.26.0, PowerShell 7.4.0 is required, and Azure Automation does not support it yet as of February 2026. For PowerShell 7.4.0+, there are no version restrictions. https://github.com/microsoftgraph/msgraph-sdk-powershell/issues/3147 https://github.com/microsoftgraph/msgraph-sdk-powershell/issues/3151 https://github.com/microsoftgraph/msgraph-sdk-powershell/issues/3166
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-ExpirationThresholdDays

(Required when RunFromAzureAutomation is enabled) Number of days threshold for expiration notification. Default is 30 days.
Type: Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 30
Accept pipeline input: False
Accept wildcard characters: False

-NotificationRecipient

(Required when RunFromAzureAutomation is enabled) Email address to receive expiration notifications.
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-NotificationSender

(Required when RunFromAzureAutomation is enabled) Email address of the sender for expiration notifications.
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-IncludeSignInStats

(Optional) If specified, includes sign-in statistics for the last 30 days for each application. Requires AuditLog.Read.All permission. Please be advised that this process is time-consuming.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
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

NOTES

Limitations: The information about the SAML applications clams is not available in the Microsoft Graph API v1 but in https://main.iam.ad.ext.azure.com/api/ApplicationSso/&lt;service-principal-id&gt;/FederatedSsoV2 so we don’t get them https://ps365.clidsys.com/docs/commands/Get-MgApplicationSAML