Cómo cambiar el método MFA predeterminado de los usuarios de Microsoft 365
Un usuario de Microsoft 365 debe usar la aplicación Microsoft Authenticator para la autenticación de dos factores (2FA) porque protege contra ataques basados en contraseñas. En Microsoft Entra ID, puede actualizar el método de autenticación multifactor (MFA) predeterminado para un solo usuario. Pero, ¿qué sucede si desea configurar la MFA predeterminada para todos los usuarios a la vez? En este artículo, aprenderá cómo cambiar el método MFA predeterminado para todos los usuarios con PowerShell.
Autenticación multifactor de Microsoft 365
Un usuario puede iniciar sesión en su cuenta de Microsoft utilizando su nombre de usuario y contraseña. Sin embargo, las contraseñas deberían tener una capa adicional de protección con métodos de autenticación más seguros. La autenticación multifactor de Microsoft agrega seguridad adicional en comparación con el uso exclusivo de una contraseña cuando un usuario inicia sesión.
Una vez que habilite diferentes métodos de autenticación para su organización, cada usuario puede elegir su propio método MFA preferido. El usuario debe proporcionar una verificación adicional, como aprobar una notificación automática, ingresar un código de un token de software o hardware, o responder a un mensaje de texto o una llamada telefónica.
Si la organización decide utilizar un método de autenticación predeterminado para todos los usuarios, puede cambiarlo de dos maneras:
- Microsoft Entra ID (usuario único)
- Microsoft Graph PowerShell (usuarios únicos y todos)
Cambiar el método de autenticación predeterminado en Microsoft Entra
Para cambiar el método de inicio de sesión predeterminado para un único usuario en Microsoft Entra ID, siga estos pasos:
- Iniciar sesión en el centro de administración de Microsoft Entra
- Expanda Identidad > Usuarios > Todos los usuarios
- Haga clic en un usuario
- Haga clic en Métodos de autenticación.
- Haga clic en la flecha en la señal de alerta > Haga clic aquí para usarlo ahora
- Compruebe si el icono de lápiz del método de inicio de sesión predeterminado no está atenuado.
Nota: Si el Método de inicio de sesión predeterminado (Vista previa) está atenuado, el usuario no tiene MFA predeterminado o solo tiene un método de inicio de sesión. Por lo tanto, el usuario necesita agregar otro método de autenticación.
- Haga clic en el icono de lápiz junto a su Método de inicio de sesión predeterminado (Vista previa)
- Seleccione un método de inicio de sesión predeterminado (notificación de Microsoft Authenticator)
- Haga clic en Guardar
Nota: Cambiar la MFA predeterminada para un usuario no eliminará los otros métodos de autenticación. Si un usuario tiene varios métodos de autenticación, los demás métodos pasan a ser secundarios después del método predeterminado.
Cambió con éxito la MFA predeterminada para un único usuario de Microsoft 365 en Microsoft Entra ID.
Si recibe una notificación de error después de hacer clic en el botón Guardar, verifique las políticas de métodos de autenticación y vea si está habilitado en Microsoft Entra ID. Consulte la primera sección del artículo Migrar MFA y SSPR heredados a la política de métodos de autenticación.
No se puede guardar el método de inicio de sesión predeterminado: No se puede guardar la llamada de voz (móvil principal) como método de inicio de sesión predeterminado. - La política del método de autenticación no está habilitada para este usuario. UserPreferredMethodForSecondaryAuthentication no se puede actualizar.
Si necesita cambiar los métodos de autenticación para varios usuarios de Microsoft 365 para acelerar el proceso, use PowerShell en el siguiente paso.
Cambiar el método MFA predeterminado con PowerShell
Supongamos que una organización decide usar un método de inicio de sesión predeterminado diferente para todos los usuarios de Microsoft 365. Por lo tanto, es mucho más fácil y rápido utilizar un script de PowerShell.
Métodos de autenticación multifactor (MFA)
La siguiente tabla muestra qué métodos de autenticación puede configurar para los usuarios. Debe especificar el método predeterminado y utilizar la abreviatura MFA correcta en los scripts de PowerShell en los siguientes pasos.
- Microsoft Authenticator notification on app
empujar
- OATH TOTP (6-digit) one-time code on a third-party software app
juramento
- SMS (6-digit) code as a text message on primary mobile
SMS
- Voice call on the office phone
VozAlternativaMóvil
- Voice call on primary mobile
VozMóvil
- Voice call on the office phone
-
Oficina de Voz
Conéctese a Microsoft Graph PowerShell
Antes de comenzar, debe instalar el módulo Microsoft Graph PowerShell, incluido el módulo Microsoft Graph Beta.
Ejecute los siguientes comandos para instalar los módulos de Microsoft Graph.
Install-Module Microsoft.Graph -Force
Install-Module Microsoft.Graph.Beta -AllowClobber -ForceImportante: Instale siempre los módulos Microsoft Graph PowerShell y Microsoft Graph Beta PowerShell. Esto se debe a que algunos cmdlets aún no están disponibles en la versión final y no funcionarán. Actualice ambos módulos a la última versión antes de ejecutar un cmdlet o script para evitar errores y resultados incorrectos.
También debe conectarse a MS Graph con los siguientes alcances.
Connect-MgGraph -Scopes "User.Read.All", "UserAuthenticationMethod.ReadWrite.All"Cambiar el método MFA predeterminado para un solo usuario
Para cambiar el método MFA predeterminado para un único usuario de Microsoft 365, utilice el siguiente script de PowerShell:
- Escriba el UserPrincipalName del usuario en la línea 5.
- Especifique el método MFA preferido en la línea 8
- Ejecute el siguiente script de PowerShell
# Connect to Microsoft Graph using the specified authentication scopes
Connect-MgGraph -Scopes "UserAuthenticationMethod.ReadWrite.All", "User.Read.All"
# Specify the user for whom you want to update the preferred method
$UserUPN = "Amanda.Hansen@m365info.com"
# Set the desired value for the preferred method
$PreferredMethod = "push"
# Get the user from Microsoft Graph
$User = Get-MgUser -UserId $UserUPN
# Create a JSON body template for the API request
$body = @{
userPreferredMethodForSecondaryAuthentication = $PreferredMethod
}
# Construct the API endpoint URL for getting the user's authentication sign-in preferences
$uri = "https://graph.microsoft.com/beta/users/$($User.Id)/authentication/signInPreferences"
# Send a GET request to the API endpoint to check the user's preferred method
$Check = Invoke-MgGraphRequest -uri $uri -Method GET -OutputType PSObject
# Check if the user already has the preferred method set
if ($Check.userPreferredMethodForSecondaryAuthentication -eq $PreferredMethod) {
Write-host "Default MFA method $PreferredMethod already set for $($User.UserPrincipalName)" -ForegroundColor Cyan
}
else {
try {
# Send a PATCH request to update the user's preferred method
Invoke-MgGraphRequest -uri $uri -Body $body -Method PATCH -ErrorAction Stop
Write-host "Default MFA method $PreferredMethod updated successfully for $($User.UserPrincipalName)" -ForegroundColor Green
}
catch {
# The registered method is not found for the user
Write-Host "Default MFA method $PreferredMethod is not registered by $($User.UserPrincipalName)" -ForegroundColor Yellow
}
}El resultado de salida de PowerShell muestra uno de estos tres resultados diferentes:
Default MFA method push already set for Amanda.Hansen@m365info.com
Default MFA method push updated successfully for Amanda.Hansen@m365info.com
Default MFA method push is not registered by Amanda.Hansen@m365info.comSi el método MFA no está registrado, significa que el usuario debe agregar primero el método de autenticación.
Cambiar el método MFA predeterminado para todos los usuarios
Para actualizar el método de autenticación para todos los usuarios de una organización, necesitamos utilizar un script de PowerShell.
En nuestro ejemplo, queremos configurar Microsoft Authenticator como el método predeterminado para todos los usuarios porque es más seguro que enviar un SMS o recibir una llamada telefónica.
Ejecute el siguiente script de PowerShell para cambiar el método MFA predeterminado para todos los usuarios:
- Especifique el método MFA preferido en la línea 5
- Especifique la ruta del archivo CSV en la línea 6
# Connect to Microsoft Graph using the specified authentication scopes
Connect-MgGraph -Scopes "UserAuthenticationMethod.ReadWrite.All", "User.Read.All"
# Set the desired value for the preferred method and the CSV file path
$PreferredMethod = "push"
$CsvPath = "C:\temp\MFAMethodReport.csv"
# Get all users from Microsoft Graph
$AllUsers = Get-MgUser -All
# Create a JSON body template for the API request
$body = @{
userPreferredMethodForSecondaryAuthentication = $PreferredMethod
}
# Create an empty array to store the results
$results = @()
# Loop through each user
foreach ($User in $AllUsers) {
# Construct the API endpoint URL for getting the user's authentication sign-in preferences
$uri = "https://graph.microsoft.com/beta/users/$($User.Id)/authentication/signInPreferences"
# Send a GET request to the API endpoint to check the user's preferred method
$Check = Invoke-MgGraphRequest -uri $uri -Method GET -OutputType PSObject
# Check if the user already has the preferred method set
if ($Check.userPreferredMethodForSecondaryAuthentication -eq $PreferredMethod) {
# Skip the user and add the result to the array
Write-host "Default MFA method $PreferredMethod already set for $($User.UserPrincipalName)" -ForegroundColor Cyan
$result = [PSCustomObject]@{
DisplayName = $User.DisplayName
UserPrincipalName = $User.UserPrincipalName
Status = "Already set"
}
$results += $result
continue
}
try {
# Send a PATCH request to update the user's preferred method
Invoke-MgGraphRequest -uri $uri -Body $body -Method PATCH -ErrorAction Stop
$result = [PSCustomObject]@{
DisplayName = $User.DisplayName
UserPrincipalName = $User.UserPrincipalName
Status = "Updated"
}
$results += $result
Write-host "Default MFA method $PreferredMethod updated successfully for $($User.UserPrincipalName)" -ForegroundColor Green
}
catch {
# The registered method is not found for the user
Write-Host "Default MFA method $PreferredMethod is not registered by $($User.UserPrincipalName)" -ForegroundColor Yellow
$result = [PSCustomObject]@{
DisplayName = $User.DisplayName
UserPrincipalName = $User.UserPrincipalName
Status = "Method not registered"
}
$results += $result
}
}
# Export the results to a CSV file
$results | Export-Csv -Path $csvPath -Encoding utf8 -NoTypeInformation
Write-Host "Results saved to $($CsvPath)" -ForegroundColor CyanAl final, obtendrá un informe en archivo CSV que muestra el estado de todos los usuarios donde el método predeterminado es:
- Ya configurado
- Actualizado
- No registrado
El archivo CSV muestra para qué usuarios falló el método de actualización MFA. Si los resultados muestran no registrado, significa que el usuario no ha configurado el método predeterminado (Microsoft Authenticator) que usted especificó. El siguiente paso es enviar un correo electrónico a estos usuarios para que puedan agregar el método de autenticación. Después de un par de días, podrá ejecutar el script nuevamente.
Vaya a C:\temp y abra el archivo MFAMethodReport.csv con Microsoft Excel.
Eso es todo.
Leer más: Cómo mejorar la seguridad de Microsoft Entra MFA »
Conclusión
Aprendiste cómo cambiar el método MFA predeterminado para todos los usuarios. En el centro de administración de Microsoft Entra, solo puede actualizar el inicio de sesión predeterminado para un único usuario. Es mucho más rápido usar PowerShell y cambiar el método de autenticación predeterminado para todos los usuarios. Cuando actualice el método MFA para todos los usuarios, exportará el estado del método de autenticación predeterminado a un informe de archivo CSV. Muestra qué usuarios ya configuraron, actualizaron o no registraron el método MFA.
Disfrutaste este artículo? También puede configurar la política de acceso condicional en Microsoft Entra. No olvides seguirnos y compartir este artículo.







