Activer ou désactiver MFA pour les utilisateurs dans Azure/Microsoft 365
Vous pouvez activer, désactiver ou obtenir l'état de l'authentification multifacteur (MFA) pour les utilisateurs de votre locataire Azure/Microsoft 365 à l'aide du portail Azure, du centre d'administration Microsoft 365 ou de PowerShell. Dans cet article, nous allons montrer comment gérer l'authentification MFA pour les comptes d'utilisateurs dans AzureAD et obtenir des rapports sur le deuxième facteur utilisé par vos utilisateurs.
Nous supposons que vous gérez MFA par utilisateur et non avec les stratégies d'accès conditionnel Azure.
Vous pouvez accéder à une page Web avec le statut MFA pour tous les utilisateurs de deux manières :
Centre d'administration Microsoft 365 -> Utilisateurs actifs -> Authentification multifacteur.
Portail Azure -> Azure AD-> Utilisateurs -> MFA par utilisateur
Vous verrez une liste de tous les utilisateurs de votre locataire et le statut MFA pour chacun d'eux. Les statuts MFA disponibles sont :
Désactivé : l'authentification multifacteur est désactivée (par défaut, pour tous les nouveaux utilisateurs) ;
Activé : l'authentification MFA est activée, mais un utilisateur utilise toujours l'authentification standard jusqu'à ce qu'il sélectionne lui-même la méthode MFA ;
Obligatoire : un utilisateur sera obligé d'enregistrer un deuxième facteur MFA lors de la prochaine connexion.
Vous pouvez activer, désactiver, réinitialiser ou configurer MFA pour chaque utilisateur à l'aide des boutons du panneau Étapes rapides sur la droite.
Le rapport n'indique pas si un utilisateur a terminé la configuration MFA et quel deuxième facteur il a sélectionné. De plus, vous ne pouvez pas exporter le contenu de la page vers un fichier TXT/CSV. Il est plus facile d'utiliser PowerShell pour gérer la MFA des utilisateurs dans Microsoft 365 et créer des rapports.
Vous pouvez désormais activer/désactiver MFA pour les utilisateurs Azure (Microsoft 365) dans PowerShell à l'aide du module MSOnline ou de l'API Microsoft Graph.
Vous ne pouvez pas actuellement gérer MFA avec la dernière version du module AzureAD.
Installez le module MSOnline (si nécessaire) et connectez-vous à votre locataire :
Install-Module MSOnline
Connect-MsolServiceVous pouvez obtenir des informations sur le statut MFA de l'utilisateur à partir du
StrongAuthenticationMethodsattribut:
Get-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com | Select-Object UserPrincipalName,StrongAuthenticationMethodsSi l'attribut StrongAuthenticationMethods n'est pas vide, alors MFA est activé pour l'utilisateur. Vous pouvez savoir quel type de MFA est configuré pour l'utilisateur :
(Get-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com). StrongAuthenticationMethodsLa capture d'écran ci-dessous montre que l'utilisateur a activé l'application Microsoft Authenticator en tant que deuxième facteur MFA (PhoneAppNotification -
IsDefault=True).
L'authentification Microsoft Modern autorise quatre types d'authentification comme deuxième facteur pour les utilisateurs :
OneWaySMS - message SMS standard ;
TwoWayVoiceMobile : un utilisateur obtient un mot de passe à usage unique lors d'un appel téléphonique ;
-
PhoneAppOTP : un utilisateur obtient un mot de passe à usage unique (6 caractères numériques) à l'aide d'un jeton matériel ou de l'application Microsoft Authenticator ;
PhoneAppNotification - authentification à l'aide de l'application Microsoft Authenticator.
Pour activer MFA pour un utilisateur 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 $staPour forcer un utilisateur à modifier sa méthode MFA actuelle :
Set-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com -StrongAuthenticationMethods @()Pour désactiver MFA pour un utilisateur :
Get-MsolUser -UserPrincipalName t.muller@a-d.onmicrosoft.com | Set-MsolUser -StrongAuthenticationRequirements @()Vous pouvez utiliser le script PowerShell suivant pour obtenir l'état MFA de tous les utilisateurs d'un locataire 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
}
$ReportVous pouvez exporter le rapport MFA dans un fichier CSV :
$Report| Export-CSV -NoTypeInformation -Encoding UTF8 c:\Reports\AzureUsersMFAstatus.csvOu dans une table Out-GridView :
$Report | Out-GridViewLe script est disponible dans mon référentiel GitHub : https://github.com/maxbakhub/winposh/blob/main/Azure/GetAzureMFAUsersReport.ps1



