Habilitar o deshabilitar MFA para usuarios en Azure/Microsoft 365
Puede habilitar, deshabilitar u obtener el estado de autenticación multifactor (MFA) para los usuarios en su arrendatario de Azure/Microsoft 365 mediante Azure Portal, Microsoft 365 Admin Center o PowerShell. En este artículo, le mostraremos cómo administrar MFA para cuentas de usuario en AzureAD y obtener informes sobre el segundo factor utilizado por sus usuarios.
Suponemos que administra MFA por usuario y no con las políticas de acceso condicional de Azure.
Puede acceder a una página web con el estado de MFA para todos los usuarios de dos formas:
Centro de administración de Microsoft 365 -> Usuarios activos -> Autenticación multifactor.
Portal Azure -> Azure AD-> Usuarios -> MFA por usuario
Verá una lista de todos los usuarios en su arrendatario y el estado de MFA para cada uno de ellos. Los estados de MFA disponibles son:
Deshabilitado: la autenticación multifactor está deshabilitada (de forma predeterminada, para todos los usuarios nuevos);
Habilitado: MFA está habilitado, pero un usuario sigue usando la autenticación estándar hasta que seleccione el método MFA por sí mismo;
Obligatorio: un usuario se verá obligado a registrar un segundo factor MFA en el próximo inicio de sesión.
Puede habilitar, deshabilitar, restablecer o configurar MFA para cada usuario usando los botones en el panel Pasos rápidos a la derecha.
El informe no muestra si un usuario completó la configuración de MFA y qué segundo factor seleccionó. Además, no puede exportar el contenido de la página a un archivo TXT/CSV. Es más fácil usar PowerShell para administrar la MFA de los usuarios en Microsoft 365 y crear informes.
Ahora puede habilitar o deshabilitar MFA para usuarios de Azure (Microsoft 365) en PowerShell mediante el módulo MSOnline o la API de Microsoft Graph.
Actualmente no puede administrar MFA con la última versión del módulo AzureAD.
Instale el módulo MSOnline (si es necesario) y conéctese a su arrendatario:
Install-Module MSOnline
Connect-MsolServicePuede obtener la información sobre el estado de MFA del usuario desde el
StrongAuthenticationMethodsatributo:
Get-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com | Select-Object UserPrincipalName,StrongAuthenticationMethodsSi el atributo StrongAuthenticationMethods no está vacío, MFA está habilitado para el usuario. Puede averiguar qué tipo de MFA está configurado para el usuario:
(Get-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com). StrongAuthenticationMethodsLa siguiente captura de pantalla muestra que el usuario tiene la aplicación Microsoft Authenticator habilitada como un segundo factor de MFA (PhoneAppNotification —
IsDefault=True).
La autenticación moderna de Microsoft permite cuatro tipos de autenticación como segundo factor para los usuarios:
OneWaySMS: mensaje SMS estándar;
TwoWayVoiceMobile: un usuario obtiene una contraseña de un solo uso en una llamada telefónica;
-
PhoneAppOTP: un usuario obtiene una contraseña de un solo uso (6 caracteres digitales) mediante un token de hardware o la aplicación Microsoft Authenticator;
PhoneAppNotification: autenticación mediante la aplicación Microsoft Authenticator.
Para habilitar MFA para un usuario de Azure:
$st = New-Object -TypeName Microsoft.Online.Administration.StrongAuthenticationRequirement
$st.RelyingParty = "*"
$st.State = "Enabled"
$sta = @($st)
Set-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com -StrongAuthenticationRequirements $staPara obligar a un usuario a cambiar su método MFA actual:
Set-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com -StrongAuthenticationMethods @()Para deshabilitar MFA para un usuario:
Get-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com | Set-MsolUser -StrongAuthenticationRequirements @()Puede usar el siguiente script de PowerShell para obtener el estado de MFA para todos los usuarios en un inquilino de Azure:
$Report = @()
$AzUsers = Get-MsolUser -All
ForEach ($AzUser in $AzUsers) {
$DefaultMFAMethod = ($AzUser.StrongAuthenticationMethods | ? { $_.IsDefault -eq "True" }).MethodType
$MFAState = $AzUser.StrongAuthenticationRequirements.State
if ($MFAState -eq $null) {$MFAState = "Disabled"}
$objReport = [PSCustomObject]@{
User = $AzUser.UserPrincipalName
MFAState = $MFAState
MFAPhone = $AzUser.StrongAuthenticationUserDetails.PhoneNumber
MFAMethod = $DefaultMFAMethod
}
$Report += $objReport
}
$ReportPuede exportar el informe MFA a un archivo CSV:
$Report| Export-CSV -NoTypeInformation -Encoding UTF8 c:\Reports\AzureUsersMFAstatus.csvO en una tabla Out-GridView:
$Report | Out-GridViewEl script está disponible en mi repositorio de GitHub: https://github.com/maxbakhub/winposh/blob/main/Azure/GetAzureMFAUsersReport.ps1



