HomeMicrosoft 365Automatiser la délégation de calendrier dans Microsoft 365 avec...

Automatiser la délégation de calendrier dans Microsoft 365 avec PowerShell

Dans de nombreuses organisations, il est fréquent qu’un utilisateur doive gérer le calendrier d’un collègue ou d’un dirigeant : assistante administrative, équipe de support, coordinateur de projet, etc.

Plutôt que de configurer ces accès manuellement dans Outlook, les administrateurs peuvent automatiser cette tâche grâce à PowerShell et Exchange Online.

Pourquoi utiliser PowerShell pour gérer les permissions de calendrier

Dans Microsoft 365, chaque boîte aux lettres possède un dossier Calendar avec ses propres permissions. Ces permissions déterminent qui peut consulter, modifier ou gérer les événements.

Bien que les utilisateurs puissent partager leur calendrier depuis Outlook, les administrateurs préfèrent souvent PowerShell pour plusieurs raisons :

  • Automatisation
  • Gestion en masse
  • Déploiement rapide
  • Standardisation des accès

PowerShell permet notamment d’utiliser des commandes comme :

  • Add-MailboxFolderPermission
  • Set-MailboxFolderPermission
  • Get-MailboxFolderPermission
  • Remove-MailboxFolderPermission

Ces commandes permettent d’ajouter, modifier ou supprimer les droits sur les dossiers de boîte aux lettres (dont le calendrier).

Architecture simplifiée des permissions de calendrier

Voici comment fonctionne l’accès aux calendriers dans Exchange.

Mailbox (utilisateur)
└── Calendar
├── Permissions
│ ├── Reviewer (lecture)
│ ├── Editor (lecture + modification)
│ ├── Owner (contrôle complet)
│ └── Delegate (gestion des invitations)

Les rôles les plus utilisés sont :

RôleDescription
ReviewerLecture seulement
EditorLecture et modification
OwnerContrôle total
DelegatePeut recevoir et gérer les invitations

Les permissions sont appliquées au niveau du dossier calendrier, et non à toute la boîte aux lettres.

Script PowerShell : déléguer un calendrier

Voici un exemple de script permettant d’accorder un accès Delegate avec droits Editor à un autre utilisateur.

$UserCredential = Get-Credential$Session = New-PSSession -ConfigurationName Microsoft.Exchange `
-ConnectionUri https://outlook.office365.com/powershell-liveid/ `
-Credential $UserCredential `
-Authentication Basic `
-AllowRedirectionImport-PSSession $Session# Ajouter les permissions Delegate
Add-MailboxFolderPermission `
-Identity user@domain.co.uk:\Calendar `
-User userneedingaccess@domain.co.uk `
-AccessRights Editor `
-SharingPermissionFlags Delegate `
-SendNotificationToUser $trueRemove-PSSession $Session

Étape 1 : Se connecter à Exchange Online

Le script commence par demander les identifiants administrateur :

$UserCredential = Get-Credential

Ensuite, une session PowerShell distante est ouverte vers Exchange Online :

New-PSSession -ConfigurationName Microsoft.Exchange

Cette connexion permet d’exécuter les cmdlets Exchange directement depuis PowerShell.

Étape 2 : Ajouter un accès au calendrier

La commande principale utilisée est :

Add-MailboxFolderPermission

Exemple :

Add-MailboxFolderPermission -Identity user@domain.com:\Calendar `
-User assistant@domain.com `
-AccessRights Editor `
-SharingPermissionFlags Delegate

Cela signifie :

ParamètreDescription
Identitycalendrier cible
Userutilisateur qui reçoit l’accès
AccessRightsniveau d’accès
SharingPermissionFlags Delegatedéfinit l’utilisateur comme délégué

Le paramètre -SendNotificationToUser peut envoyer automatiquement un message informant l’utilisateur de son nouvel accès.

Modifier les permissions existantes

Si l’utilisateur possède déjà un accès, il faut utiliser :

Set-MailboxFolderPermission

Exemple :

Set-MailboxFolderPermission -Identity user@domain.com:\Calendar `
-User assistant@domain.com `
-AccessRights Owner

Cette commande remplace les permissions existantes.

Vérifier les permissions d’un calendrier

Avant de modifier les accès, il est souvent utile de voir les permissions actuelles.

Get-MailboxFolderPermission -Identity user@domain.com:\Calendar

La commande affiche :

  • les utilisateurs ayant accès
  • leur niveau de permission

Supprimer un accès au calendrier

Pour retirer complètement l’accès :

Remove-MailboxFolderPermission `
-Identity user@domain.com:\Calendar `
-User assistant@domain.com

Bonnes pratiques pour l’administration

Voici quelques recommandations utiles :

1. Toujours vérifier les permissions existantes

Avant de modifier les accès, utilisez :

Get-MailboxFolderPermission

2. Automatiser pour plusieurs utilisateurs

PowerShell permet de gérer des centaines de calendriers via CSV.

3. Documenter les accès délégués

Les accès Delegate peuvent permettre de gérer les réunions et invitations — il est donc important de les tracer.

4. Attention aux environnements multilingues

Dans certaines organisations, le dossier peut s’appeler :

  • Calendar
  • Calendrier
  • Kalender

Cas d’usage courant

Voici quelques situations où ce script est particulièrement utile :

  • Assistante qui gère le calendrier d’un dirigeant
  • Service de support qui doit planifier des réunions
  • Migration d’un utilisateur vers un nouvel assistant
  • Automatisation des accès dans un script IT

PowerShell reste l’outil le plus efficace pour administrer les calendriers dans Microsoft 365.

Grâce aux cmdlets Exchange, il est possible de :

  • déléguer l’accès aux calendriers
  • automatiser la gestion des permissions
  • appliquer des changements rapidement à grande échelle.

Pour les administrateurs Microsoft 365, maîtriser ces commandes permet de gagner du temps, réduire les erreurs et améliorer la gestion des accès.

Charles Jenkins
Charles Jenkinshttps://trivium365.com/
Fort de plus de 15 ans d’expérience, il accompagne les organisations dans l’adoption des outils Microsoft pour optimiser leur collaboration et leur productivité. Passionné par l’innovation et l’amélioration continue, il met son expertise au service des équipes pour les aider à tirer le meilleur parti de la transformation numérique.