Exportar el informe de estado de MFA de todos los usuarios de Microsoft 365
Puede comprobar el estado de los métodos de autenticación de Microsoft por usuario en el centro de administración de Microsoft Entra (Azure AD). La desventaja es que no te mostrará información detallada. Para obtener una lista del estado de MFA de todos los usuarios en un único archivo CSV, debe ejecutar un script de PowerShell. En este artículo, aprenderá cómo exportar el informe de estado de MFA de todos los usuarios de Microsoft 365 a un archivo CSV con PowerShell.
Estado de MFA del usuario de Microsoft 365 Azure
Cada usuario tiene una contraseña para iniciar sesión, pero eso no significa que tenga habilitada la autenticación multifactor. Puede comprobar qué usuario de su organización tiene MFA habilitado y qué métodos de autenticación utilizan. Para obtener una descripción general del estado de MFA de todos los usuarios de Microsoft 365 Azure, es mejor exportarlo a un informe de archivo CSV con PowerShell.
En el centro de administración de Microsoft Entra, puede ver y descargar una lista del estado de MFA para todos los usuarios. Muestra qué métodos de autenticación están registrados y el método MFA predeterminado para cada usuario.
La diferencia es que no es fácil encontrar qué usuarios han configurado un método de autenticación específico. Para obtener una descripción general estructurada del estado de MFA de todos los usuarios, debe utilizar un script de PowerShell y exportarlo a un archivo CSV.
Métodos de autenticación de Microsoft MFA
El script de PowerShell mostrará una descripción general de cuáles de los métodos de autenticación registrados están habilitados para todos los usuarios de Azure AD.
-
Utilice una dirección de correo electrónico como parte del proceso de autoservicio de restablecimiento de contraseña (SSPR).
- Fido2
Utilice una clave de seguridad FIDO2 para iniciar sesión en Azure AD.
- Microsoft Authenticator
Utilice Microsoft Authenticator para iniciar sesión o realizar autenticación multifactor en Azure AD.
- Phone
El usuario puede usar un teléfono para autenticarse mediante SMS o llamadas de voz (según lo permita la política).
- SoftwareOath
Utilice Microsoft Authenticator para iniciar sesión o realizar la autenticación multifactor en Azure AD.
- TemporartAccessPass
El Pase de acceso temporal es un código de acceso por tiempo limitado que sirve como una credencial segura y permite la incorporación de credenciales sin contraseña.
- WindowsHelloForBusiness
Windows Hello para empresas es un método de inicio de sesión sin contraseña en dispositivos Windows.
Conéctese a Microsoft Graph PowerShell
Antes de ejecutar el script de PowerShell Export-MFAstatus.ps1, debe instalar el módulo Microsoft Graph PowerShell.
Ejecute el siguiente comando para instalar el módulo Microsoft Graph.
Install-Module Microsoft.Graph -ForceNota: También le sugerimos que instale el módulo Microsoft Graph Beta o el script no funcionará.
Ejecute el siguiente comando para instalar el módulo Microsoft Graph Beta.
Install-Module Microsoft.Graph.Beta -AllowClobber -ForceDescargar el script de PowerShell de estado de MFA
Puede exportar el estado de MFA de todos los usuarios a un archivo CSV. Debes crear una carpeta llamada scripts si aún no la tienes.
Descargue el script de PowerShell Export-MFAstatus.ps1 y guárdelo en la carpeta C:\scripts.
Otro método es copiar y pegar el siguiente código en el Bloc de notas. Asígnele el nombre Export-MFAstatus.ps1 y colóquelo en la carpeta C:\scripts.
# Connect to Microsoft Graph API
Connect-MgGraph -Scopes "User.Read.All", "UserAuthenticationMethod.Read.All"
# Create variable for the date stamp
$LogDate = Get-Date -f yyyyMMddhhmm
# Define CSV file export location variable
$Csvfile = "C:\temp\MFAUsers_$LogDate.csv"
# Get all Azure users using the Microsoft Graph Beta API
$users = Get-MgBetaUser -All
# Initialize the results array
$results = @()
# Initialize progress counter
$counter = 0
$totalUsers = $users.Count
# Loop through each user account
foreach ($user in $users) {
$counter++
# Calculate percentage completion
$percentComplete = [math]::Round(($counter / $totalUsers) * 100)
# Define progress bar parameters with user principal name
$progressParams = @{
Activity = "Processing Users"
Status = "User $($counter) of $totalUsers - $($user.UserPrincipalName) - $percentComplete% Complete"
PercentComplete = $percentComplete
}
Write-Progress @progressParams
# Create an object to store user MFA information
$myObject = [PSCustomObject]@{
DisplayName = "-"
UserPrincipalName = "-"
MFAstatus = "Disabled" # Initialize to "Disabled"
Email = "-"
Fido2 = "-"
MicrosoftAuthenticatorApp = "-"
Phone = "-"
SoftwareOath = "-"
TemporaryAccessPass = "-"
WindowsHelloForBusiness = "-"
}
$myObject.UserPrincipalName = $user.UserPrincipalName
$myObject.DisplayName = $user.DisplayName
# Check authentication methods for each user
$MFAData = Get-MgBetaUserAuthenticationMethod -UserId $user.UserPrincipalName
foreach ($method in $MFAData) {
Switch ($method.AdditionalProperties["@odata.type"]) {
"#microsoft.graph.emailAuthenticationMethod" {
$myObject.Email = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.fido2AuthenticationMethod" {
$myObject.Fido2 = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethod" {
$myObject.MicrosoftAuthenticatorApp = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.phoneAuthenticationMethod" {
$myObject.Phone = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.softwareOathAuthenticationMethod" {
$myObject.SoftwareOath = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.temporaryAccessPassAuthenticationMethod" {
$myObject.TemporaryAccessPass = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.windowsHelloForBusinessAuthenticationMethod" {
$myObject.WindowsHelloForBusiness = $true
$myObject.MFAstatus = "Enabled"
}
}
}
# Add user object to results array
$results += $myObject
}
# Export user information to CSV
$results | Export-Csv -Path $Csvfile -NoTypeInformation -Encoding UTF8
Write-Host "Script completed. Results exported to $Csvfile." -ForegroundColor CyanExportar informe de estado de MFA a CSV
Antes de exportar, debe crear una carpeta llamada temp en la unidad (C:) si aún no la tiene.
Para exportar el informe de estado de MFA para todos los usuarios, debe ejecutar PowerShell como administrador.
Ejecute el script de PowerShell Export-MFAstatus.ps1.
C:\scripts\.\Export-MFAstatus.ps1Se conectará a MS Graph, donde deberá iniciar sesión en su cuenta de administrador.
- Introduzca contraseña
- Haga clic en Iniciar sesión
Se solicita permiso para verificar el consentimiento.
- Habilite Consentimiento en nombre de su organización
- Haga clic en Aceptar
La salida de PowerShell muestra una barra de progreso y le permite saber cuándo se completa el script. Buscará y exportará el estado de MFA para todos los usuarios de su organización.
Welcome To Microsoft Graph!
Script completed. Results exported to C:\temp\MFAUsers_202309191236.csv.Puede encontrar el archivo CSV en la carpeta C:\temp. Abra el archivo CSV con una aplicación como Microsoft Excel para ver los resultados.
Este es el resultado final del estado de MFA de todos los usuarios de Microsoft 365 en nuestra organización. Si un usuario tiene estado MFA Desactivado, solo tiene una contraseña para iniciar sesión sin ningún otro método de autenticación.
- Habilitado: MFA está configurado para la cuenta de usuario
- Desactivado: MFA no está configurado para la cuenta de usuario
Nota: Recuerde a las cuentas de usuario que tienen el estado MFA Desactivado en la lista que configuren MFA.
¿Consiguió exportar el estado de MFA de todos los usuarios de Microsoft 365 con Microsoft Graph PowerShell?
Leer más: Restablecer MFA para usuarios de Microsoft 365 »
Conclusión
Aprendió a exportar el informe de estado de MFA de todos los usuarios de Microsoft 365. Con Microsoft Graph PowerShell, puede ejecutar el script de PowerShell Export-MFAstatus.ps1 para exportar el estado de MFA de cada usuario a un archivo CSV. Este informe muestra qué usuarios tienen MFA habilitado y qué métodos de autenticación utilizan.
Disfrutaste este artículo? También te puede gustar la creación masiva de usuarios de Azure AD con un archivo CSV. No olvides seguirnos y compartir este artículo.



