Búsqueda de sitios web

Crear un informe de archivos de cuentas de OneDrive para empresas


OneDrive es el gran vertedero de información de Microsoft 365

OneDrive for Business se ha convertido en el gran vertedero de Microsoft 365. Su misión original de proporcionar almacenamiento personal a los usuarios ha evolucionado en los últimos años a medida que aplicaciones como Stream, Clipchamp y Whiteboard se alejan del almacenamiento específico de aplicaciones para adoptar el concepto de OneDrive como ubicación de almacenamiento del usuario para Microsoft 365. Estas aplicaciones se unen a otras como Loop (componentes) y Lists (listas personales) en el uso del almacenamiento de OneDrive.

No tengo ninguna dificultad con el concepto de establecer un repositorio de almacenamiento común para las aplicaciones de Microsoft 365. A veces, los grupos de desarrollo de Microsoft están muy entusiasmados con el uso de OneDrive, a veces sin una buena razón. La instalación de módulos PowerShell en OneDrive es un ejemplo. Desde PowerShell 6 en adelante, la ubicación predeterminada para la instalación del módulo PowerShell es $HOME\Documents\PowerShell\Modules, que termina en OneDrive si las carpetas conocidas de Windows se redirigen a OneDrive. No sé por qué Microsoft piensa que almacenar módulos de PowerShell en OneDrive es una buena idea, por lo que siempre especifico AllUsers como ámbito para la instalación de módulos.

En cualquier caso, el resultado neto de la actividad de los últimos años es que las cuentas de usuario de OneDrive para Empresas acumulan la salida de muchos archivos de las grabaciones de reuniones de Teams en los documentos de Office creados por los usuarios.

Puede ignorar el problema y dejar que las cuentas de OneDrive para la Empresa acumulen grandes cantidades de datos potencialmente inútiles o tomar el control de la situación y asegurarse de que su cuenta de OneDrive para la Empresa contenga información útil y relevante. Las cuentas de OneDrive son una fuente importante de información para fundamentar las búsquedas de IA, incluso si la organización usa Copilot para Microsoft 365 con búsqueda restringida de SharePoint, por lo que limpiar los desechos obsoletos de OneDrive es una buena idea.

Informar archivos de OneDrive

Es decir, si tiene alguna orientación para eliminar información no deseada, obsoleta o errónea, lo que me lleva a la necesidad de algún método para analizar el contenido de la cuenta de un usuario de OneDrive para Empresas. Con esto en mente, decidí que sería una buena idea crear un informe (que incluya algunas estadísticas básicas) sobre lo que se esconde en una cuenta de OneDrive. Esto no solo es bueno para garantizar que la IA generativa no tenga alucinaciones basadas en datos incorrectos, sino que poder informar lo que hay en una cuenta de OneDrive facilita el manejo de las cuentas de OneDrive para las personas que abandonan la organización.

A diferencia de SharePoint Online, OneDrive para la Empresa no incluye la opción de exportar información de elementos y carpetas a Excel. Al menos no puedo encontrar uno. Escribir un guión para generar la información es la única opción.

Comencé con un script de PowerShell que escribí para crear un informe sobre los archivos en una biblioteca de documentos de SharePoint Online. El script utiliza cmdlets del SDK de Microsoft Graph PowerShell como Get-MgDrive y Get-MgDriveChildItem para recuperar información sobre unidades, archivos y carpetas.

OneDrive for Business y SharePoint Online comparten muchas características. Desde la perspectiva de Graph API, ambos almacenan archivos en unidades. Un sitio de SharePoint Online puede tener muchas unidades, cada una de las cuales es una biblioteca de documentos. En comparación, una cuenta de OneDrive para Empresas tiene una unidad llamada Documentos Compartidos.

Adaptación del código de script para OneDrive

El script para informar sobre archivos de SharePoint Online almacenados en una biblioteca de documentos es un buen punto de partida. Se puede eliminar gran parte del código necesario para seleccionar un sitio y seleccionar una biblioteca de documentos del sitio elegido. Sin embargo, quiero que el script genere un análisis básico del contenido de una cuenta de OneDrive para la Empresa, por lo que queda trabajo adicional por hacer para producir esos datos.

El primer desafío es cómo enumerar elementos en una cuenta de OneDrive. La documentación que cubre cómo recuperar elementos de una unidad parece sencilla, pero se centra en SharePoint Online en lugar de OneDrive for Business. Un poco de prueba y error para descubrir la raíz correcta para la unidad me tomó aproximadamente una hora antes de darme cuenta de que podía pasar una variable de cadena que contenga 'raíz' para crear la función que uso para recuperar información de los elementos y carpetas que se encuentran en una carpeta. y enumerar el contenido de las carpetas anidadas. Es una característica lógica pero no documentada.

Después de descubrir cómo enumerar archivos y carpetas, el proceso de obtener información sobre elementos individuales almacenados en una cuenta de OneDrive para la Empresa es sencillo. Actualicé el código del script para almacenar detalles sobre el tamaño de bytes y la extensión de cada archivo para facilitar la generación de estadísticas y tuve que cambiar el formato de la solicitud Graph a la API extractSensitivityLabels para usar el método Drives. para el tipo de recurso Usuario en lugar del tipo de recurso Sitio. Esto se debe a que OneDrive está conectado a un usuario en lugar de ser una entidad independiente.

Permisos

En términos de permisos, el permiso delegado Files.Read es suficiente para leer información de unidades y archivos de la cuenta de OneDrive para la Empresa que pertenece al usuario que inició sesión. Quería que el script fuera capaz de leer una cuenta de OneDrive que pertenece a otro usuario (sujeto a permisos), así que terminé con:

  • Files.Read.All: acceda a archivos en cualquier cuenta de OneDrive que el usuario que inició sesión pueda ver.
  • RecordsManagement.Read.All: lee información sobre etiquetas de retención.
  • InformationProtectionPolicy.Read: lee información sobre etiquetas de confidencialidad.

Podría eliminar la necesidad de los dos últimos permisos si utilizara el módulo de administración de Exchange Online para obtener detalles de las etiquetas de retención y confidencialidad. Si bien se trata de otro módulo para iniciar sesión, ofrece la ventaja de que las etiquetas recuperadas son todas las disponibles en el inquilino en lugar de solo las disponibles para el usuario que inició sesión. Esto podría ser importante si se reportan archivos de la cuenta OneDrive de otra persona.

Esencialmente, todos los datos sobre archivos terminan en una lista de PowerShell que podemos consultar para dividir la información y descubrir diferentes aspectos del contenido contenido en OneDrive.

Analizando los datos

La información básica que quiero saber sobre una cuenta OneDrive es:

  • Cuántos archivos hay en la cuenta.
  • Qué tipo de archivos hay en la cuenta.
  • Cuánta cuota se utiliza y cuánta queda.
  • Qué tipos de archivos ocupan más espacio.
  • La cantidad de archivos que tienen etiquetas de retención y confidencialidad.

Estoy seguro de que a su imaginación se le ocurrirán otras ideas que podrían generarse a partir de los datos. Ése es el placer de PowerShell: crear datos y luego decidir cómo usarlos. La Figura 1 muestra el análisis de los puntos enumerados anteriormente. Mi cuenta de OneDrive para Empresas existe desde 2013, por lo que no es difícil entender cómo se acumularon algunos de los desechos.

Como era de esperar, la cuenta contiene una gran cantidad de Word. Archivos PDF y PowerPoint. También hay muchos archivos de PowerShell, probablemente restos de algunas instalaciones mal administradas.

La Figura 3 muestra la información generada sobre el uso de etiquetas de retención y etiquetas de confidencialidad para archivos dentro de la cuenta. Como era de esperar, un porcentaje menor de archivos de OneDrive recibe etiquetas de retención y confidencialidad que los archivos de los sitios de SharePoint Online.

Los archivos reportados no incluyen elementos en la papelera de reciclaje. Está disponible una API Graph beta para enumerar elementos en la papelera de reciclaje que no parece extenderse a OneDrive for Business.

Puede descargar el script completo desde GitHub.

Contemplando las estadísticas de archivos

En general, me cuesta utilizar la cuota de 5 TB asignada a mi cuenta de OneDrive. La disponibilidad de almacenamiento masivo es sin duda una justificación para no preocuparse demasiado por los desechos digitales que se acumulan con el tiempo junto con el contenido valioso en una cuenta de OneDrive para Empresas. Después de todo, si Microsoft pone a disposición el almacenamiento, ¿por qué no llenarlo?

En serio, es una buena idea realizar una limpieza regular para mantener los escombros bajo control. El informe ayuda a exponer elementos que pueden permanecer invisibles a través de la GUI de OneDrive a menos que busque información específica. Eso me gusta y he eliminado mil archivos desde que comencé a desarrollar el script. Quizás también te pueda ayudar a limpiar.

Artículos relacionados