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-User | Permet de récupérer la liste des utilisateurs du tenant |
Set-MailboxFolderPermission | Permet de modifier les droits d’accès à une BAL pour d’autres utilisateurs |
Add-MailboxFolderPermission | Permet d’ajoutrer des droits d’accès à une BAL pour d’autres utilisateurs |
Get-Mailbox | Récupérer les informations d’une Boite aux lettres |
Get-MailboxStatistics | Récupérer les statistiques d’une BAL |
New-Mailbox | Créer une nouvelle BAL |
Set-calendarprocessing | Paramétrer le fonctionnement du calendrier d’une ressource partagée (ex. salle) |
Remove-Mailbox | Supprimer 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 !