SPToolbox-logo

Application PowerShell avec interface graphique (WinForms) pour administrer, auditer et exporter des données depuis des sites SharePoint Online.

Prérequis

  • PowerShell 5.1 ou supérieur
  • Module PnP.PowerShell (Install-Module PnP.PowerShell)
  • Azure AD App Registration avec les permissions déléguées nécessaires (Client ID requis)
  • Accès au tenant SharePoint cible

Lancement

.\Sharepoint_Toolbox.ps1

Fonctionnalités

Connexion et profils

  • Saisie du Tenant URL, Client ID et Site URL
  • Profils sauvegardés : créez, renommez, supprimez et chargez des profils de connexion réutilisables
  • Sélecteur de sites : parcourez et cochez plusieurs sites du tenant en une seule vue (chargement asynchrone)
  • Dossier de sortie configurable pour tous les exports

Permissions Report

Audit complet des permissions d'un ou plusieurs sites.

  • Scan des bibliothèques, listes et dossiers (profondeur configurable ou illimitée)
  • Option Recursive pour inclure les sous-sites
  • Inclusion optionnelle des permissions héritées
  • Export CSV (données brutes, compatibles Excel) ou HTML (rapport visuel avec tableau interactif, filtrage, tri par colonne, regroupement par utilisateur/groupe)

Storage Metrics

Analyse de l'occupation du stockage SharePoint.

  • Répartition par bibliothèque avec profondeur de dossiers configurable
  • Option d'inclusion des sous-sites
  • Métriques : taille totale, taille des versions, nombre d'éléments, dernière modification
  • Export CSV ou HTML (rapport avec graphiques de répartition et arborescence dépliable)

Templates

Capture et réapplication de la structure d'un site SharePoint.

  • Capture : arborescence (bibliothèques et dossiers), permissions (groupes et rôles), paramètres du site (titre, langue), logo
  • Création depuis un template : nouveau site Communication ou Teams à partir d'un template capturé, avec application sélective des éléments capturés
  • Templates persistés localement dans Sharepoint_Templates.json

Recherche de fichiers

Recherche avancée de fichiers à travers les bibliothèques d'un site.

Filtre Description
Extension(s) Ex : docx pdf xlsx
Nom / Regex Expression régulière appliquée sur le chemin du fichier
Créé après / avant Plage de dates de création
Modifié après / avant Plage de dates de modification
Créé par Nom ou email de l'auteur
Modifié par Nom ou email du dernier éditeur
Bibliothèque Limite la recherche à un chemin relatif
Max résultats Plafond configurable (10 50 000)

Utilise la Search API SharePoint (KQL) avec pagination automatique. Le filtre regex est appliqué côté client après récupération des résultats.

Export CSV ou HTML (tableau trié par colonne, filtrage en temps réel, indicateurs de tri).


Doublons

Détection de fichiers ou dossiers en double au sein d'un site.

Type de scan :

  • Fichiers en double (via Search API)
  • Dossiers en double (via énumération des bibliothèques)

Critères de comparaison (combinables) :

  • Nom — toujours inclus comme critère principal
  • Taille identique
  • Date de création identique
  • Date de modification identique
  • Nombre de sous-dossiers identique (dossiers uniquement)
  • Nombre de fichiers identique (dossiers uniquement)

Le rapport HTML présente les doublons regroupés en cartes dépliables avec mise en évidence visuelle des valeurs identiques (vert) et différentes (orange), ainsi qu'un badge "Identiques" / "Différences détectées" par groupe.

Export CSV (avec colonne DuplicateGroup) ou HTML.


Fichiers générés

Fichier Description
Sharepoint_Export_profiles.json Profils de connexion sauvegardés
Sharepoint_Templates.json Templates de sites capturés
Permissions_<site>_<date>.csv/html Rapports de permissions
Storage_<site>_<date>.csv/html Rapports de stockage
FileSearch_<date>.csv/html Résultats de recherche de fichiers
Duplicates_<mode>_<date>.csv/html Résultats du scan de doublons

Architecture technique

  • Interface WinForms (PowerShell natif, aucune dépendance UI externe)
  • Toutes les opérations longues s'exécutent dans des runspaces séparés pour ne pas bloquer l'interface
  • Communication runspace → UI via hashtable synchronisée + timer
  • Module PnP.PowerShell pour toutes les interactions avec l'API SharePoint
Description
A very complete toolbox to manage your SharePoint sites.
Readme 1.8 MiB
2026-03-10 14:59:23 +01:00
Languages
PowerShell 100%