SharePoint Toolbox — Wiki
Application WPF (.NET 10) pour administrer, auditer et exporter des donnees depuis un tenant SharePoint Online.
Apercu
SharePoint Toolbox centralise les taches recurrentes d'un administrateur SharePoint Online : audit des permissions, mesure du stockage, annuaire des utilisateurs, recherche de fichiers et detection de doublons. Tous les rapports peuvent etre exportes en CSV ou en HTML interactif avec un branding configurable.
Installation
- Telecharger le dernier zip depuis la page Releases.
- Extraire l'archive dans un dossier de votre choix.
- Lancer
SharepointToolbox.exe.
Prerequis
- Windows 10 ou superieur
- Runtime .NET 10 Desktop
- Une Azure AD App Registration (Client ID) avec les permissions deleguees
- Des identifiants ayant acces au tenant SharePoint cible
Connexion & profils
- Saisir le Tenant URL et le Client ID.
- Enregistrer des profils reutilisables (creation, renommage, suppression, rechargement).
- Parcourir le tenant et cocher plusieurs sites depuis le selecteur.
- Enregistrement Azure AD automatique ou guide depuis le profil.
- Branding multi-tenant avec logos client dans les exports.
Rapport de permissions
Audit complet des permissions sur un ou plusieurs sites.
- Scan des bibliotheques, listes et dossiers avec profondeur configurable.
- Inclusion optionnelle des permissions heritees et des sous-sites.
- Mode consolidation : fusion des permissions identiques avec liste des sites/bibliotheques concernes.
- Export en CSV ou en HTML (rapport interactif avec filtrage, tri et regroupement par utilisateur/site).
Metriques de stockage
Analyse de l'occupation du stockage SharePoint.
- Repartition par bibliotheque avec profondeur de dossiers configurable.
- Metriques : taille totale, taille des versions, nombre d'elements, derniere modification.
- Visualisation 3D interactive du stockage.
- Export en CSV ou en HTML (rapport avec graphiques de repartition).
Annuaire utilisateurs
- Liste complete des utilisateurs du tenant via Microsoft Graph.
- Filtrage et recherche textuelle.
- Export en HTML.
Recherche de fichiers
Recherche avancee de fichiers a travers les bibliotheques d'un site, utilisant la Search API SharePoint (KQL) avec pagination automatique.
| Filtre | Description |
|---|---|
| Extension(s) | ex. docx pdf xlsx |
| Nom / Regex | Expression reguliere sur le chemin du fichier |
| Cree apres / avant | Plage de dates de creation |
| Modifie apres / avant | Plage de dates de modification |
| Cree par | Nom ou email de l'auteur |
| Modifie par | Nom ou email du dernier editeur |
| Bibliotheque | Limite la recherche a un chemin relatif |
Doublons
Detection de fichiers ou dossiers en double au sein d'un ou plusieurs sites.
- Type de scan : Fichiers (Search API) ou Dossiers (enumeration CAML).
- Criteres de comparaison (combinables) : Nom, Taille, Date de creation, Date de modification, Nombre de sous-dossiers, Nombre de fichiers.
- Export en CSV ou en HTML (cartes depliables avec mise en evidence des valeurs identiques/differentes).
Architecture
- Interface WPF avec pattern MVVM (generateurs CommunityToolkit.Mvvm).
- Injection de dependances via
Microsoft.Extensions.Hosting. - Authentification MSAL avec cache persistant et support broker WAM.
- Microsoft Graph SDK pour les operations tenant/utilisateurs.
- PnP.Framework (CSOM) pour les operations SharePoint.
- Localisation complete EN/FR via fichiers
.resx. - Branding configurable (logos MSP et client) dans les exports HTML.
- Journalisation structuree via Serilog (sink fichier).
Dependances
| Paquet | Version | Role |
|---|---|---|
| CommunityToolkit.Mvvm | 8.4.2 | Generateurs MVVM |
| CsvHelper | 33.1.0 | Lecture/ecriture CSV |
| LiveChartsCore.SkiaSharpView.WPF | 2.0.0-rc5.4 | Graphiques / visualisation 3D |
| Microsoft.Extensions.Hosting | 10.0.0 | Host generique & DI |
| Microsoft.Graph | 5.74.0 | SDK Graph (tenant/utilisateurs) |
| Microsoft.Identity.Client | 4.83.3 | Authentification MSAL |
| Microsoft.Identity.Client.Broker | 4.82.1 | Support broker WAM |
| Microsoft.Identity.Client.Extensions.Msal | 4.83.3 | Cache de tokens persistant |
| PnP.Framework | 1.18.0 | Operations SharePoint CSOM |
| Serilog | 4.3.1 | Journalisation structuree |
| Serilog.Extensions.Hosting | 10.0.0 | Integration host |
| Serilog.Sinks.File | 7.0.0 | Sink fichier |
Configuration Azure AD
L'application peut enregistrer l'app Azure AD automatiquement, ou vous pouvez la creer manuellement avec les permissions deleguees suivantes :
Sites.FullControl.All(SharePoint)User.Read.All(Microsoft Graph)Directory.Read.All(Microsoft Graph)
L'URI de redirection doit etre definie sur la valeur par defaut MSAL public client (http://localhost) pour la connexion interactive.
Depannage
- Boucle de connexion / erreurs AADSTS : verifier le Client ID, le tenant URL et le consentement administrateur.
- Recherche vide : l'indexation SharePoint Search peut prendre du temps ; reessayer plus tard.
- Timeouts de scan de permissions : reduire la profondeur de dossiers ou scanner moins de sites a la fois.
- Logs : ecrits par Serilog dans le dossier local de l'application — les joindre en cas de probleme.