PowerShell : comment installer le module Exchange Online V3 ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à installer le module PowerShell "Exchange Online V3" connu sous le nom "EXO V3", sur lequel Microsoft a travaillé pendant plusieurs mois. Il représente l'avenir et va devenir incontournable pour les personnes qui ont des scripts de configuration d'Exchange Online.

Pour refaire un peu l'historique, Microsoft a mis en ligne la V2 (2.0.3) de ce module le 21 septembre 2020. Ensuite, les versions preview se sont enchainées jusqu'à ce que sorte la version V2.0.5 le 11 mai 2021. Ensuite, il y a eu plusieurs preview de la version V2.0.6... Et finalement, cette version est sortie en version stable en tant que version 3.0.0.

A ce jour, c'est la version la plus évoluée, qui reprend les améliorations des versions précédentes comme la prise en charge l'authentification moderne avec ou sans MFA. Le module EXO V3 va plus loin car il supporte aussi l'authentification par certificat pour la partie "Sécurité et conformité" et interroge le Cloud via une API REST.

Ce module est capable de s'authentifier sur Exchange Online, Exchange Online Protection et Sécurité et Conformité.

Note : A partir de juin 2023, il ne sera plus possible d'utiliser le module Exchange Online V2 pour administrer Exchange Online car il ne supporte pas l'authentification moderne. D'où l'intérêt de passer sur la dernière version de ce module.

Pour en savoir plus sur tous les changements, vous pouvez consulter la documentation officielle de Microsoft :

II. Installer le module Exchange Online V3

Ce module est publié sur la PowerShell Gallery (voir ici) et on peut l'installer facilement via PowerShellGet avec la commande habituelle : Install-Module. Ceci nous donne la commande suivante :

Install-Module -Name ExchangeOnlineManagement

Pour cibler une version spécifique, par exemple la v3.0.0, on peut aussi la préciser de cette façon :

Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.0.0

L'installation s'effectue en quelques secondes, après avoir validé avec "A" puis "Entrée".

PowerShell - Install-Module ExchangeOnlineManagement V3

Une fois l'installation effectuée, on peut lister les commandes du module :

Get-Command -Module ExchangeOnlineManagement

Voici la liste :

PowerShell - Get-Command ExchangeOnlineManagement V3

Les nouvelles commandes, disponibles depuis la V2 de ce module, sont préfixées par "EXO". Voici quelques exemples :

  • Get-CASMailbox devient Get-EXOCASMailbox
  • Get-Mailbox devient Get-EXOMailbox
  • Get-MailboxFolderPermission devient Get-EXOMailboxFolderPermission
  • Get-MailboxFolderStatistics devient Get-EXOMailboxFolderStatistics
  • Get-MailboxPermission devient Get-EXOMailboxPermission
  • Etc...

Rassurez-vous, les anciennes commandes restent utilisables malgré tout. 😉

III. Se connecter à Exchange Online avec PowerShell

Le module est installé, donc nous allons pouvoir établir la connexion avec un environnement Office 365 via la commande Connect-ExchangeOnline.

Pour s'authentifier, il suffit de préciser son adresse e-mail (associé au compte qui a les droits) :

Connect-ExchangeOnline -UserPrincipalName [email protected]

Un navigateur va s'ouvrir, pour vous demander de vous connecter avec le mot de passe correspondant au compte mentionné. Ensuite, la connexion sera établie si votre compte n'est pas protégé par MFA. Dans le cas où il y a le MFA sur le compte, l'étape du MFA s'affiche, comme ceci :

PowerShell Exchange Online MFA

Après avoir validé ce second facteur d'authentification, la connexion est établie. Le message "Authentication complete. You can return to the application. Feel free to close this browser tab." s'affiche dans le navigateur. Vous pouvez fermer la fenêtre et commencer à exécuter des commandes comme celle-ci pour lister les boites aux lettres.

Get-EXOMailbox

Vous avez aussi la possibilité d'utiliser le mode d'authentification basé sur le périphérique, où un code sera donné, et il doit être saisit dans le navigateur à partir du compte déjà connecté à l'environnement cible. Dans ce cas, c'est cette commande qu'il faut utiliser :

Connect-ExchangeOnline -Device

Par la suite, lorsque vous avez terminé vos actions, vous pouvez fermer la session (ou les sessions) avec la commande suivante :

Disconnect-ExchangeOnline

Il sera nécessaire de valider pour déconnecter toutes les sessions :

PowerShell - Disconnect-ExchangeOnline

Pour supprimer la demande de confirmation :

Disconnect-ExchangeOnline -Confirm:$false

Dans le cas où l'on souhaite se connecter à la plateforme Sécurité et Conformité, le cmdlet Connect-IPPSession doit être utilisé.

IV. Conclusion

Vous êtes désormais en mesure d'installer le module Exchange Online Management "EXO V3" de PowerShell et de vous connecter à votre environnement Cloud, vous n'avez plus qu'à l'exploiter pour vos tâches d'administration !

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

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.

Nombre de posts de cet auteur : 5561.Voir tous les posts

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.