Library / Identity & Zero Trust
MFA registration report with Microsoft Graph PowerShell
Export every user’s MFA registration status to CSV so you can see who still needs to enrol before you enforce Conditional Access.
What it does
Pulls authentication method registration details for every user and exports a CSV you can filter in Excel.
Requirements
- Microsoft Graph PowerShell SDK (
Install-Module Microsoft.Graph -Scope CurrentUser) - An account that can consent to AuditLog.Read.All
Script
Connect-MgGraph -Scopes "AuditLog.Read.All" -NoWelcome
$report = Get-MgReportAuthenticationMethodUserRegistrationDetail -All |
Select-Object UserPrincipalName, UserDisplayName, IsAdmin,
IsMfaRegistered, IsMfaCapable, IsPasswordlessCapable,
@{n = "Methods"; e = { $_.MethodsRegistered -join ", " }}
$path = Join-Path $env:USERPROFILE "Desktop\MFA-Registration.csv"
$report | Export-Csv $path -NoTypeInformation -Encoding UTF8
Write-Host "Not registered:" ($report | Where-Object { -not $_.IsMfaRegistered }).Count
Write-Host "Saved to $path"
Tip
Sort by IsAdmin first. Every admin without MFA is your highest-priority fix.