Collectors/MfaRegistration.ps1
|
@{ Name = 'MfaRegistration' FileName = 'mfaRegistration' ApiVersion = 'v1.0' RequiredScopes = @('AuditLog.Read.All') Description = 'MFA registration state per user from the authentication methods report (requires Entra ID P1).' Collect = { $details = @(Invoke-TLGraphRequest -Uri '/v1.0/reports/authenticationMethods/userRegistrationDetails?$top=999' -All) $total = @($details).Count $registered = @($details | Where-Object { $_.isMfaRegistered }).Count $capable = @($details | Where-Object { $_.isMfaCapable }).Count $admins = @($details | Where-Object { $_.isAdmin }) $adminsUnregistered = @($admins | Where-Object { -not $_.isMfaRegistered }).Count $registeredPercent = 0.0 if ($total -gt 0) { $registeredPercent = [Math]::Round(100.0 * $registered / $total, 1) } @{ summary = [ordered]@{ totalUsers = $total mfaRegistered = $registered mfaCapable = $capable registeredPercent = $registeredPercent adminCount = @($admins).Count adminsWithoutMfa = $adminsUnregistered } users = $details } } } |