Se connecter au tenant Microsoft365 avec PowerShell

Lorsque l’on administre un tenant Microsoft365 on peut être amené à faire ce que l’on appelle des « batch operations » soit en Français des « Traitements par lots ». Evidemment l’interface graphique de la console admin de Microsoft ne le permet pas. Nous devons alors faire appel à notre bonne vieille console Powershell à la rescousse, mais une fois devant comment se connecter au cloud Microsoft ? C’est ce que l’on va voir maintenant.

Première étape, lancer une fenêtre PowerShell, on fait donc Win+X puis A (Windows 11) ce qui nous lance une instance admin powershell.

Méthode 1

Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline

On rentre ses identifiants et voilà c’est tout !

Méthode 2

Cette méthode est de moins en moins supportée.

On va tout d’abord stocker nos identifiants dans une variable :

$Cred = Get-Credential

Ensuite on peut créer une nouvelle session que l’on va aussi stocker dans une variable :

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection

Avant de pouvoir se connecter il faut autoriser l’execution de scripts avec la commande :

Set-ExecutionPolicy RemoteSigned

Et finalement on peut enfin lancer la commande magique, qui va créer une session à partir des paramètres contenus dans la variable $Session :

Import-PSSession $Session

Il n’y a plus qu’à profiter, voici un florilège de commandes utiles pour administrer son tenant.

Get-UserPermet de récupérer la liste des utilisateurs du tenant
Set-MailboxFolderPermissionPermet de modifier les droits d’accès à une BAL pour d’autres utilisateurs
Add-MailboxFolderPermissionPermet d’ajoutrer des droits d’accès à une BAL pour d’autres utilisateurs
Get-MailboxRécupérer les informations d’une Boite aux lettres
Get-MailboxStatisticsRécupérer les statistiques d’une BAL
New-MailboxCréer une nouvelle BAL
Set-calendarprocessingParamétrer le fonctionnement du calendrier d’une ressource partagée (ex. salle)
Remove-MailboxSupprimer une BAL

On peut aussi créer des scripts pour automatiser certaines tâches, par exemple un script qui exporte la taille de certaines BAL du tenant dans un CSV.

$Users = Import-Csv -Path 'C:\Users\user\Documents\users_tenant.csv' -Delimiter ";"
foreach ($User in $Users) 
{ 
    $adresse = $User.adresse
    get-mailbox -identity $adresse | get-mailboxstatistics | ft displayname, totalitemsize
    get-process | Export-csv -path .\taille_bal.csv -Delimiter ';' -NoTypeInformation
    Write-Output $adresse
}

Enjoy !

Florent
Florent

Passionné de nouvelles technologies depuis mon enfance j'aime partager mes avis, connaissances ou expériences dans ce domaine.

Articles: 13

Laisser un commentaire

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