Permissions des DOSSIERS PUBLICS EXCHANGE

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 RemoteSigned

  • Installe le module Exchange Online Management (version 3.0.0) :
    Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.0.0

  • Ouvre 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 :

    1. Essaye d’ajouter le droit Owner
      Add-PublicFolderClientPermission … -AccessRights Owner

    2. Si 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 :

    1. Essaye de supprimer les permissions
      Remove-PublicFolderClientPermission …

    2. 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.