Office 365 : Désactiver la complexité des mots de passe
Sommaire
I. Présentation
La politique de mots de passe par défaut sur Office 365 est relativement strict au niveau des prérequis en terme de complexité, ce qui n'est en soi pas un mal, mais peut poser des soucis si vous souhaitez avoir votre propre politique.
Le mot de passe doit faire au minimum 8 caractères et contenir au moins 3 de ces 4 types de caractères : minuscules, majuscules, nombres et caractères spéciaux.
Le centre d'administration Office 365 ne propose pas pour le moment la possibilité de désactiver la complexité des mots de passe, voire même de la modifier, il faut donc passer par PowerShell.
Note : L'expiration du mot de passe est le seul paramètre lié aux mots de passe qui peut-être configuré depuis le centre d'administration Office 365, mais aussi par le commandlet "Set-MsolPasswordPolicy.
Dans ce tutoriel, nous allons voir comment désactiver la complexité des mots de passe pour tous les utilisateurs ou pour un seul utilisateur.
II. Désactiver la complexité pour tous les utilisateurs
Si vous souhaitez désactiver la complexité des mots de passe pour tous les utilisateurs que vous gérez dans Office 365, on va s'appuyer sur deux commandlets : "Get-MsolUser" qui permet de lister les utilisateurs et "Set-MsolUser" qui permet d'éditer les utilisateurs.
D'ailleurs, ce second commandlet intègre un paramètre qui nous intéresse et qui se nomme "StrongPasswordRequired" que l'on peut traduire part "Mot de passe fort requis". C'est donc par le biais de ce paramètre que l'on passera à false, que la complexité va pouvoir être désactivée.
Voici la commande :
Get-MsolUser | Set-MsolUser -StrongPasswordRequired $false
Avant de pouvoir exécuter cette commande, je vous rappelle que vous devez initier une connexion à Office 365 dans votre script, notamment pour importer des commandlets et les paramètres de session.
III. Désactiver la complexité des mots de passe pour un utilisateur
Si l'on veut désactiver la complexité pour un seul utilisateur, on va effectuer une sélection directement dans le commandlet "Get-MsolUser" via le paramètre "UserPrincipalName". Ce paramètre prend pour valeur l'identifiant unique de l'utilisateur qui est son adresse e-mail dans le cadre d'Office 365.
Voici la commande :
Get-MsolUser -UserPrincipalName "[email protected]" | Set-MsolUser -StrongPasswordRequired $false
Si vous avez une liste d'utilisateurs complète à modifier, il y a bien sûr différentes façons de procéder (CSV source, tableau d'adresses e-mail, etc...).
Comme je suis sympa, je vous fournit un exemple qui permet de stocker dans une variable une liste d'adresses e-mail pour cibler des utilisateurs :
$TargetUsers = @("[email protected]","[email protected]","[email protected]") $TargetUsers | ForEach-Object{ Get-MsolUser -UserPrincipalName $_ | Set-MsolUser -StrongPasswordRequired $false }
IV. La complexité est-elle active ou inactive sur les utilisateurs ?
Pour savoir si la complexité est activée ou non sur vos utilisateurs, on peut s'appuyer sur le commandlet "Get-MsolUser" qui permet d'obtenir de nombreuses informations sur les utilisateurs Office 365.
On sélectionnera deux propriétés : UserPrincipalName et StrongPasswordRequired qui correspondent respectivement au login de l'utilisateur (adresse e-mail) et à l'état de la complexité sur ce compte. Voici la commande :
Get-MsolUser | Format-Table -auto UserPrincipalName,StrongPasswordRequired
Un tableau va s'afficher :
Voilà 🙂 Désormais vous êtes capable de gérer la complexité sur vos utilisateurs Office 365, que ce soit pour l'activer ou la désactiver, ou tout simplement lister pour avoir un état de vos comptes.