Ajout et/ou suppression des droits des dossiers public Exchange
NB: Ce n’est peut-être pas très propre, mais ces scripts sont en production chez un des mes clients et fonctionnent très bien.
Logique d’ensemble
| Script | Action | Droit concerné |
|---|---|---|
| 0. Demarrage.txt | Prépare l’environnement | — |
| 1. Add Permissions – Owner.txt | Ajoute ou met à jour les droits | Owner |
| 2. Add Permissions – ReadItems.txt | Ajoute ou met à jour les droits | ReadItems |
| 3. Remove Permissions.txt | Supprime tous les droits | Tous |
0. Demarrage.txt — Script de démarrage
Ce script prépare l’environnement PowerShell pour administrer Exchange Online.
Fonctions principales
Définit la politique d’exécution pour autoriser les scripts locaux :
Set-ExecutionPolicy RemoteSignedInstalle le module Exchange Online Management (version 3.0.0) :
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.0.0Ouvre une session Exchange Online avec un compte administrateur :
Connect-ExchangeOnline -UserPrincipalName « … »
Résumé
Ce script sert uniquement à initialiser la session PowerShell et à charger les modules nécessaires avant d’exécuter les scripts de gestion des permissions.
1. Add Permissions – Owner.txt — Ajout/Mise à jour des droits OWNER
Ce script attribue le droit Owner à une liste d’utilisateurs sur une liste de dossiers publics, en gérant les cas où le droit existe déjà ou doit être mis à jour.
Fonctions principales
Charge :
la liste des chemins de dossiers publics (
4_Chemins.txt)la liste des utilisateurs (
5_Users.txt)
Parcourt chaque utilisateur puis chaque dossier public.
Pour chaque dossier :
Essaye d’ajouter le droit Owner
Add-PublicFolderClientPermission … -AccessRights OwnerSi l’utilisateur a déjà un droit :
Vérifie si c’est Owner
Sinon :
Supprime l’ancien droit
Remove-PublicFolderClientPermission … – Ajoute le droit Owner
Comptabilise :
droits ajoutés
droits identiques (aucune modification)
droits mis à jour
Affiche un récapitulatif par utilisateur, puis un récapitulatif global.
Résumé
Ce script assure que chaque utilisateur possède exactement le droit Owner sur tous les dossiers publics listés. Il gère automatiquement les cas d’erreur, les droits déjà présents, et les mises à jour.
2. Add Permissions – ReadItems.txt — Ajout/Mise à jour des droits ReadItems
Ce script est strictement identique au précédent, mais pour le droit ReadItems.
Fonctions principales
Identiques au script Owner, mais avec :
$Ledroit = « ReadItems »Ajoute ou met à jour le droit ReadItems pour chaque utilisateur sur chaque dossier public.
Gère les cas :
droit déjà présent
droit différent → suppression + ajout du bon droit
Produit un récapitulatif détaillé par utilisateur et global.
Résumé
Ce script garantit que chaque utilisateur possède exactement le droit ReadItems sur tous les dossiers publics listés.
3. Remove Permissions.txt — Suppression des droits
Ce script supprime tous les droits d’une liste d’utilisateurs sur une liste de dossiers publics.
Fonctions principales
Charge :
les chemins de dossiers publics (
4_Chemins.txt)les utilisateurs à retirer (
5_Users.txt)
Pour chaque utilisateur et chaque dossier :
Essaye de supprimer les permissions
Remove-PublicFolderClientPermission …Si l’utilisateur n’a aucun droit :
Affiche un message “Aucune modification”
Comptabilise :
droits retirés
dossiers où l’utilisateur n’avait aucun droit
Affiche un récapitulatif par utilisateur, puis un récapitulatif global.
Résumé
Ce script sert à retirer complètement un utilisateur de tous les dossiers publics, quel que soit son droit actuel.

