To find users without MFA in Microsoft Entra ID, read the user registration details report and keep the accounts where isMfaRegistered is false. The report lists enabled accounts only and needs Microsoft Entra ID P1 or P2. It shows what each person has registered, not whether MFA is required when they sign in.
| Method | Best fit |
|---|---|
| PowerShell | A tenant-wide CSV of accounts with no MFA method, administrators first. |
| Admin centre | A quick look at registration across the tenant, or at 1 person's methods. |
| Altivane | Recommended for recurring reviews, with the gap rated against a threshold. |
Before you start
Use an account with a role that can read the report: Reports Reader, Security Reader, Security Administrator or Global Reader. The tenant needs Microsoft Entra ID P1 or P2. The PowerShell example requests AuditLog.; your organisation may require administrator consent.
Know what the report covers. It leaves out disabled and recently deleted accounts, and Microsoft says it updates for most users within 36 hours, so a method registered today can take a day or more to appear. The examples read the report and export it; they do not change any account or policy.
Option 1
Find users without MFA with PowerShell
Install the modules once, then connect and export the accounts with no MFA method registered. The filter runs in Microsoft Graph, so only the accounts you need come back.
# Install once, if the modules are not already installed.
Install-Module Microsoft.Graph.Authentication, Microsoft.Graph.Reports -Scope CurrentUser$ErrorActionPreference = 'Stop'
Connect-MgGraph -Scopes 'AuditLog.Read.All' -NoWelcome
try {
$filter = 'isMfaRegistered eq false'
$details = Get-MgReportAuthenticationMethodUserRegistrationDetail -All -Filter $filter
$report = @($details | Where-Object { $_.UserType -eq 'member' } |
Sort-Object @{ Expression = 'IsAdmin'; Descending = $true }, UserDisplayName |
Select-Object UserDisplayName,UserPrincipalName,IsAdmin,IsMfaCapable,LastUpdatedDateTime)
if ($report.Count -eq 0) {
Write-Output 'Every enabled member account has an MFA method registered.'
} else {
$report | Export-Csv -Path './users-without-mfa.csv' -NoTypeInformation -Encoding utf8
Write-Output "$($report.Count) enabled member accounts have no MFA method registered."
}
} finally {
Disconnect-MgGraph | Out-Null
}The script keeps member accounts and sorts administrators to the top: an administrator with no MFA method is the row to act on first. Remove the Where-Object line to include guests. LastUpdatedDateTime is when the report last refreshed for that account, not when the person registered.
Check a single account
Reconnect with Connect-MgGraph, then read 1 person's registration. The main export above disconnects when it finishes.
# Run while connected to Microsoft Graph. Replace the example account.
$filter = "userPrincipalName eq 'person@example.com'"
Get-MgReportAuthenticationMethodUserRegistrationDetail -Filter $filter |
Select-Object UserDisplayName,IsMfaRegistered,IsMfaCapable,MethodsRegisteredIsMfaRegistered says a strong method is registered. IsMfaCapable says the method is also allowed by the tenant's authentication methods policy. An account that is registered and not capable has a method the policy no longer accepts.
Option 2
Review MFA registration in the admin centre
- Sign in to the Microsoft Entra admin centre for the correct tenant.
- Go to Entra ID > Authentication methods > Activity.
- On the Registration tab, select Users capable of Azure multifactor authentication to open the list of user registration details.
- Use the controls at the top of the list to search for a person or to filter a column, such as setting MFA Capable to Not Capable.
- Read Methods registered for each account. Leave the page without changing anything.
This suits a quick look at a tenant you already have open. For a list you can keep, sort and compare month to month, export it with PowerShell or a report.
Option 3 ยท Recommended for recurring reviews
Report on MFA registration with Altivane
- Open Altivane and choose the tenant.
- Build the tenant's documents with the Identity scorecard report in full, so the accounts are listed as well as counted.
- Open the tenant's Excel workbook and find Enabled Users Without MFA Registered. Administrators are listed first.
- Read MFA Registration Summary for the counts, and the scorecard for how the gap rates against your thresholds.
Altivane reads the same registration report, so the same licence applies: where the report cannot be read, the figures say Not read rather than 0. The Identity scorecard report counts enabled member accounts, and the scorecard marks the gap Warning or Critical at the share you set. The build also writes the tenant's Word report.
Contact usCommon questions
Does a registered method mean MFA is enforced?
No. Registration says a method exists. Whether a sign-in asks for it depends on Conditional Access policies or security defaults. Review both: a registered account that no policy covers is never asked, and an account with no method is asked to register the next time a policy requires MFA.
Why is a disabled account missing from the list?
The report lists enabled accounts only, and recently deleted accounts are left out too. To see which of the remaining accounts still hold licences, see how to export licensed users.
Why does the report return an error or nothing at all?
Check the licence and the role first. The report needs Microsoft Entra ID P1 or P2, and the signed-in account needs 1 of the reader roles above along with consent for AuditLog..
Microsoft references
Technical references checked on 5 October 2026. The example scripts have been reviewed and syntax checked; they have not been run against a live tenant.