To check the authentication methods policy in Microsoft Entra ID, read each method's state and the groups it includes and excludes, then confirm the methods you rely on are on and those you don't want are off. The policy says who may register and use a method, not who must. Since 30 September 2025, methods can no longer be managed in the legacy MFA and password reset policies.
| Method | Best fit |
|---|---|
| PowerShell | A CSV of every method with its state and the groups it includes and excludes. |
| Admin centre | Reading 1 method's targets and settings in a tenant you have open. |
| Altivane | Recommended for recurring reviews, with group names in place of IDs and the policy's own settings. |
Before you start
Use an account in the Global Reader or Authentication Policy Administrator role, the least privileged roles Microsoft lists for reading the policy. The PowerShell example requests Policy.; your organisation may require administrator consent.
Know what the policy decides. A method enabled for a group can be registered and used by its members for sign-in and, from the Migration in Progress state on, for password reset. Until migration is complete, Microsoft also respects the legacy MFA and password reset policies, so a method must be off in all of them to stop it. The examples read and export; they change nothing.
Option 1
Check the authentication methods policy with PowerShell
Install the modules once, then connect, read the policy and export 1 row per method. The script also prints the policy's migration state.
# Install once, if the modules are not already installed.
Install-Module Microsoft.Graph.Authentication, Microsoft.Graph.Identity.SignIns -Scope CurrentUser$ErrorActionPreference = 'Stop'
Connect-MgGraph -Scopes 'Policy.Read.AuthenticationMethod' -NoWelcome
try {
$policy = Get-MgPolicyAuthenticationMethodPolicy
Write-Output "Migration state: $($policy.PolicyMigrationState)"
$report = @(foreach ($method in $policy.AuthenticationMethodConfigurations) {
# includeTargets belongs to each method's own type, so it sits in AdditionalProperties.
$targets = $method.AdditionalProperties['includeTargets']
$included = @($targets | ForEach-Object { $_['id'] })
[pscustomobject]@{
Method = $method.Id
State = $method.State
Included = $included -join '; '
Excluded = @($method.ExcludeTargets.Id) -join '; '
}
})
if ($report.Count -eq 0) {
Write-Output 'The policy lists no authentication methods.'
} else {
$report | Sort-Object State, Method |
Export-Csv -Path './authentication-methods.csv' -NoTypeInformation -Encoding utf8
Write-Output "$($report.Count) methods exported."
}
} finally {
Disconnect-MgGraph | Out-Null
}The CSV lists the disabled methods first, then the enabled ones, each by Microsoft's ID, such as Fido2, MicrosoftAuthenticator, Sms or TemporaryAccessPass. all_users in Included means every user; the other values are group IDs. The migration state is preMigration, migrationInProgress or migrationComplete; only the last ignores the legacy policies.
Option 2
Review the authentication methods policy in the admin centre
- Sign in to the Microsoft Entra admin centre as at least a Global Reader.
- Go to Entra ID > Authentication methods > Policies.
- Select a method to open it, then read whether it is enabled, the groups it includes and excludes, and its settings.
- Close the method without saving. To read the migration state, select Manage migration, then close it without saving.
This suits a quick read of 1 tenant, and shows group names. Each method opens on its own, so for every method and its targets in 1 list to keep and compare, use PowerShell or a report.
Option 3 ยท Recommended for recurring reviews
Report on authentication methods with Altivane
- Open Altivane and choose the tenant.
- Run the Authentication Methods report. It needs certificate sign-in.
- Open the tenant's Excel workbook and find the Authentication methods table: each method by the name people know it, such as Passkey (FIDO2) or SMS, with its state, the groups it targets and excludes by name, and its settings.
- Read Authentication methods settings for the registration campaign, system-preferred multifactor authentication and reporting suspicious activity, each with its state and targets.
Altivane names the groups the policy targets, where the script gives their IDs, and says Microsoft managed for a setting left at Microsoft's default. A policy that can't be read fails the report, saying why, rather than giving an empty list. Group names it can't read are noted and the report is marked partial. The workbook is kept, so a change to the policy shows when you compare 1 run with the next.
Contact usCommon questions
Does an enabled method mean people must use MFA?
No. The policy says which methods people may register and use. Whether a sign-in asks for MFA comes from Conditional Access or security defaults. To see who has registered a method, see how to find users without MFA.
Why can people use a method I turned off?
Microsoft respects every policy that still applies, so a person enabled for a method in any of them can register and use it. If the migration is not complete, check the legacy MFA and password reset settings too. For example, Mobile phone in the legacy password reset policy allows both voice calls and text messages.
Why does a method target single users?
Microsoft removed the option to target individual users. Users targeted before the change stay in the policy, and Microsoft recommends moving them into a group. A policy that names many groups can also fail to save once it passes 20 KB, so consolidate groups where you can.
Microsoft references
Technical references checked on 6 November 2026. The example scripts have been reviewed and syntax checked; they have not been run against a live tenant.