17/11/2024

Office 365PowerShell

Office 365 : Désactiver la complexité des mots de passe

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 :

getmsoluser1

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.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.