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-MailboxFolderPermissionSet-MailboxFolderPermissionGet-MailboxFolderPermissionRemove-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ôle | Description |
|---|---|
| Reviewer | Lecture seulement |
| Editor | Lecture et modification |
| Owner | Contrôle total |
| Delegate | Peut 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ètre | Description |
|---|---|
| Identity | calendrier cible |
| User | utilisateur qui reçoit l’accès |
| AccessRights | niveau d’accès |
| SharingPermissionFlags Delegate | dé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.
