Recherche de site Web

Créer un rapport sur les fichiers de compte OneDrive Entreprise


OneDrive est le grand dépotoir d'informations Microsoft 365

OneDrive Entreprise est devenu le grand dépotoir de Microsoft 365. Sa mission initiale, à savoir fournir un stockage personnel aux utilisateurs, a évolué au cours des dernières années, à mesure que des applications telles que Stream, Clipchamp et Whiteboard s'éloignent du stockage spécifique aux applications pour adopter le concept de OneDrive comme emplacement de stockage utilisateur pour Microsoft 365. Ces applications rejoignent d'autres comme Loop (composants) et Lists (listes personnelles) pour utiliser le stockage OneDrive.

Je n’ai aucune difficulté avec le concept d’établissement d’un référentiel de stockage commun pour les applications Microsoft 365. Parfois, les groupes de développement Microsoft sont très enthousiastes à l’idée d’utiliser OneDrive, parfois sans raison valable. L'installation de modules PowerShell dans OneDrive est un exemple. À partir de PowerShell 6, l'emplacement par défaut pour l'installation du module PowerShell est $HOME\Documents\PowerShell\Modules, qui se retrouve dans OneDrive si les dossiers connus de Windows sont redirigés vers OneDrive. Je ne sais pas pourquoi Microsoft pense que stocker les modules PowerShell dans OneDrive est une bonne idée, c'est pourquoi je spécifie toujours AllUsers comme portée des installations de modules.

Dans tous les cas, le résultat net de l'activité de ces dernières années est que les comptes des utilisateurs OneDrive for Business accumulent la sortie de nombreux fichiers des enregistrements de réunions Teams vers les documents Office créés par les utilisateurs.

Vous pouvez ignorer le problème et laisser les comptes OneDrive Entreprise accumuler de grandes quantités de données potentiellement inutiles ou prendre le contrôle de la situation et vous assurer que votre compte OneDrive Entreprise contient des informations utiles et pertinentes. Les comptes OneDrive sont une source d'informations importante pour ancrer les recherches d'IA, même si l'organisation utilise Copilot pour Microsoft 365 avec la recherche SharePoint restreinte, donc nettoyer les débris obsolètes de OneDrive est une bonne idée.

Signalement des fichiers OneDrive

Autrement dit, si vous avez des conseils pour la suppression des informations indésirables, obsolètes ou erronées, cela m'amène à la nécessité d'une méthode pour analyser le contenu d'un compte utilisateur OneDrive Entreprise. Avec cette réflexion à l’esprit, j’ai décidé que ce serait une bonne idée de créer un rapport (comprenant quelques statistiques de base) sur ce qui se cache dans un compte OneDrive. Non seulement c’est une bonne chose pour garantir que l’IA générative n’hallucine pas sur la base de mauvaises données, mais le fait de pouvoir signaler le contenu d’un compte OneDrive facilite la gestion des comptes OneDrive pour les personnes qui quittent l’organisation.

Contrairement à SharePoint Online, OneDrive Entreprise n'inclut pas la possibilité d'exporter les informations sur les éléments et les dossiers vers Excel. Au moins, je n'en trouve pas. Écrire un script pour générer les informations est la seule option.

J'ai commencé avec un script PowerShell que j'ai écrit pour créer un rapport sur les fichiers d'une bibliothèque de documents SharePoint Online. Le script utilise des applets de commande du SDK Microsoft Graph PowerShell telles que Get-MgDrive et Get-MgDriveChildItem pour récupérer des informations sur les lecteurs, les fichiers et les dossiers.

OneDrive Entreprise et SharePoint Online partagent de nombreuses caractéristiques. Du point de vue de l'API Graph, les deux stockent les fichiers dans des lecteurs. Un site SharePoint Online peut comporter plusieurs lecteurs, chacun étant une bibliothèque de documents. En comparaison, un compte OneDrive Entreprise possède un lecteur appelé Documents partagés.

Adaptation du code de script pour OneDrive

Le script permettant de signaler les fichiers SharePoint Online stockés dans une bibliothèque de documents est un bon point de départ. Une grande partie du code nécessaire à la sélection d'un site et à la sélection d'une bibliothèque de documents à partir du site choisi peut être éliminée. Cependant, je souhaite que le script génère une analyse de base du contenu d'un compte OneDrive Entreprise, il y a donc un travail supplémentaire à effectuer pour produire ces données.

Le premier défi est de savoir comment répertorier les éléments dans un compte OneDrive. La documentation expliquant comment récupérer des éléments d'un lecteur semble simple, mais elle se concentre sur SharePoint Online plutôt que sur OneDrive Entreprise. Quelques essais et erreurs pour découvrir la racine correcte du lecteur ont pris environ une heure avant de comprendre que je pouvais transmettre une variable de chaîne contenant « racine » pour créer la fonction que j'utilise pour récupérer des informations sur les éléments et les dossiers trouvés dans un dossier. et énumérez le contenu des dossiers imbriqués. C’est une fonctionnalité logique mais non documentée.

Après avoir découvert comment énumérer des fichiers et des dossiers, le processus de récupération d'informations sur les éléments individuels stockés dans un compte OneDrive Entreprise est simple. J'ai mis à jour le code du script pour stocker les détails sur la taille en octets et l'extension de chaque fichier afin de faciliter la génération de statistiques et j'ai dû modifier le format de la requête Graph en API extractSensitivityLabels pour utiliser la méthode Drives. pour le type de ressource Utilisateur plutôt que pour le type de ressource Site. En effet, OneDrive est connecté à un utilisateur au lieu d'être une entité autonome.

Autorisations

En termes d'autorisations, l'autorisation déléguée Files.Read est suffisante pour lire les informations des lecteurs et des fichiers du compte OneDrive Entreprise appartenant à l'utilisateur connecté. Je voulais rendre le script capable de lire un compte OneDrive appartenant à un autre utilisateur (sous réserve d'autorisations), j'ai donc fini avec :

  • Files.Read.All : accédez aux fichiers de n'importe quel compte OneDrive que l'utilisateur connecté est autorisé à afficher.
  • RecordsManagement.Read.All : lit les informations sur les étiquettes de rétention.
  • InformationProtectionPolicy.Read : lit les informations sur les étiquettes de sensibilité.

Vous pouvez supprimer le besoin des deux dernières autorisations si vous utilisez le module de gestion Exchange Online pour récupérer les détails des étiquettes de rétention et de sensibilité. Bien qu'il s'agisse d'un autre module auquel se connecter, il offre l'avantage que les étiquettes récupérées sont toutes celles disponibles dans le locataire plutôt que uniquement celles disponibles pour l'utilisateur connecté. Cela peut être important si vous signalez des fichiers provenant du compte OneDrive de quelqu’un d’autre.

Essentiellement, toutes les données sur les fichiers se retrouvent dans une liste PowerShell que nous pouvons interroger pour découper les informations afin de découvrir différents aspects du contenu contenu dans OneDrive.

Analyser les données

Les informations de base que je souhaite connaître sur un compte OneDrive sont les suivantes :

  • Combien de fichiers y a-t-il dans le compte.
  • Quels types de fichiers se trouvent dans le compte.
  • Quelle quantité de quota est utilisée et combien il en reste.
  • Quels types de fichiers occupent le plus d’espace.
  • Nombre de fichiers comportant des étiquettes de rétention et de sensibilité.

Je suis sûr que votre imagination trouvera d’autres idées qui pourraient être générées à partir des données. C’est tout le plaisir de PowerShell : créez des données, puis décidez comment les utiliser. La figure 1 montre l'analyse des points énumérés ci-dessus. Mon compte OneDrive Entreprise existe depuis 2013, il n’est donc pas difficile de comprendre comment certains débris se sont accumulés.

Sans surprise, le compte contient beaucoup de Word. Fichiers PDF et PowerPoint. Il existe également de nombreux fichiers PowerShell, probablement les restes d’installations mal gérées.

La figure 3 montre les informations générées sur l'utilisation des étiquettes de rétention et des étiquettes de sensibilité pour les fichiers du compte. Comme on pouvait s’y attendre, un pourcentage plus faible de fichiers OneDrive reçoivent des étiquettes de rétention et de sensibilité que les fichiers des sites SharePoint Online.

Les fichiers signalés n'incluent pas d'éléments dans la corbeille. Une API Graph bêta pour répertorier les éléments dans la corbeille est disponible et ne semble pas s'étendre à OneDrive Entreprise.

Vous pouvez télécharger le script complet depuis GitHub.

Considération des statistiques de fichiers

Globalement, j'ai du mal à utiliser le quota de 5 To attribué à mon compte OneDrive. La disponibilité d’un stockage massif est certainement une justification pour ne pas trop se soucier des débris numériques qui s’accumulent au fil du temps aux côtés du contenu précieux d’un compte OneDrive Entreprise. Après tout, si Microsoft met à disposition le stockage, pourquoi ne pas le remplir ?

Sérieusement, c’est une bonne idée d’effectuer un entretien ménager régulier pour garder les débris sous contrôle. Le rapport aide en exposant les éléments qui pourraient rester invisibles via l'interface graphique OneDrive, à moins que vous ne recherchiez des informations spécifiques. J'aime ça et j'ai supprimé un millier de fichiers depuis que j'ai commencé à développer le script. Peut-être que cela peut aussi vous aider à nettoyer.

Articles connexes