Cómo exportar un inventario de archivos de OneDrive para su revisión en OneDrive para la empresa
🔍 WiseChecker

Cómo exportar un inventario de archivos de OneDrive para su revisión en OneDrive para la empresa

Necesita una lista completa de todos los archivos y carpetas almacenados en su cuenta de OneDrive para la Empresa, incluido el tamaño del archivo, la fecha de última modificación y el estado de uso compartido. OneDrive no incluye un botón de exportación integrado para estos datos. Este artículo explica cómo generar un inventario de archivos mediante scripts de PowerShell y herramientas de informes basadas en la nube.

Sin un inventario, no puede auditar fácilmente el uso del almacenamiento, identificar archivos obsoletos ni comprobar si hay documentos compartidos en exceso. Los métodos que se describen aquí funcionan tanto para cuentas de usuario individuales como para informes de toda la organización.

Aprenderá los comandos exactos de PowerShell para exportar un archivo CSV que contiene metadatos de archivos, cómo ejecutar el script en Windows PowerShell o en el centro de administración de Microsoft 365, y cómo interpretar los resultados en Excel.

Puntos clave: Exportación de un inventario de archivos de OneDrive

  • Get-PnPFolderItem -FolderSiteRelativeUrl: Cmdlet de PowerShell que recupera todos los archivos y subcarpetas de una carpeta de OneDrive especificada y envía los metadatos a un archivo CSV.
  • Centro de administración de Microsoft 365 > Informes > Uso > OneDrive: Panel integrado que muestra el recuento de archivos y el uso de almacenamiento por usuario, exportable como informe CSV.
  • Módulo SharePoint PnP PowerShell: Necesario para ejecutar el script de inventario; instálelo con Install-Module PnP.PowerShell en una sesión de PowerShell elevada.

ADVERTISEMENT

Qué contiene un inventario de archivos de OneDrive y por qué es importante

Un inventario de archivos es una lista estructurada de cada elemento de su cuenta de OneDrive. La exportación típica incluye el nombre del archivo, la ruta del archivo, el tamaño del archivo en bytes, la fecha de última modificación, el usuario que lo modificó por última vez y el estado de uso compartido. Estos datos le ayudan a responder preguntas específicas sobre su almacenamiento.

Puede identificar archivos que no se han modificado en más de un año y decidir si archivarlos o eliminarlos. Puede encontrar documentos compartidos con usuarios externos y verificar que los permisos de uso compartido sean adecuados. También puede calcular el consumo total de almacenamiento por usuario en toda la organización.

La exportación es un archivo CSV simple. Ábralo en Excel, filtre columnas, ordene por tamaño o fecha y cree tablas dinámicas. No se requiere software especial más allá de Excel o cualquier aplicación de hoja de cálculo que lea CSV.

Antes de comenzar, necesita los siguientes requisitos previos:

  • Windows 10 o Windows 11 con PowerShell 5.1 o posterior instalado.
  • Módulo SharePoint PnP PowerShell instalado en su equipo.
  • Administrador global o administrador de SharePoint rol en Microsoft 365 para acceder a todos los sitios de OneDrive de los usuarios.
  • Direcciones URL de OneDrive para las cuentas que desea inventariar. El formato es https://-my.sharepoint.com/personal/__com.

Pasos para exportar un inventario de archivos de OneDrive con PowerShell

Este método exporta la lista completa de archivos de una sola cuenta de OneDrive. Puede repetir el script para cada usuario o usar un bucle para procesar varias cuentas en una sola ejecución.

  1. Abra PowerShell como administrador
    Haga clic con el botón derecho en el botón Inicio y seleccione Windows PowerShell Admin o Terminal Admin. Confirme el mensaje de Control de cuentas de usuario.
  2. Instale el módulo PnP PowerShell si aún no está instalado
    Ejecute Install-Module PnP.PowerShell -Scope CurrentUser. Presione Y cuando se le solicite para instalar desde PSGallery. Este módulo proporciona los cmdlets necesarios para conectarse a OneDrive y recuperar datos de archivos.
  3. Conéctese a su inquilino
    Ejecute Connect-PnPOnline -Url https://-admin.sharepoint.com -Interactive. Reemplace <tenant> con el nombre de su inquilino de Microsoft 365. Se abre una ventana del navegador. Inicie sesión con sus credenciales de administrador. Esta conexión permite que el script acceda a todas las colecciones de sitios del inquilino.
  4. Obtenga la dirección URL del sitio de OneDrive para el usuario de destino
    Ejecute Get-PnPTenantSite | Where-Object {$_.Url -like "-my.sharepoint.com"} | Select-Object Url. Esto enumera todas las direcciones URL de los sitios de OneDrive. Copie la dirección URL del usuario que desea inventariar.
  5. Conéctese al sitio de OneDrive específico
    Ejecute Connect-PnPOnline -Url -Interactive. Inicie sesión de nuevo si se le solicita. Ahora está conectado directamente al OneDrive de ese usuario.
  6. Exporte el inventario de archivos a CSV
    Ejecute el siguiente script:
    $items = Get-PnPFolderItem -FolderSiteRelativeUrl "/Documents" -ItemType File
    $items | Select-Object Name, ServerRelativeUrl, Length, TimeLastModified, ModifiedBy | Export-Csv -Path "C:\OneDriveInventory.csv" -NoTypeInformation

    Reemplace /Documents con la ruta de la carpeta que desea examinar. Use / para la raíz. El archivo CSV se guarda en su unidad local. Ábralo en Excel para revisar los datos.

Para inventariar varios usuarios, envuelva los pasos en un bucle foreach. Almacene las direcciones URL de OneDrive en un archivo de texto e iterelas. Anexe los resultados a un solo archivo CSV usando -Append en el cmdlet Export-Csv.

ADVERTISEMENT

Problemas comunes al exportar un inventario de archivos de OneDrive

PowerShell devuelve un error de acceso denegado

Este error ocurre cuando la cuenta utilizada para conectarse no tiene permisos de administrador de SharePoint o cuando el sitio de OneDrive no está aprovisionado. Verifique que su cuenta tenga el rol de administrador de SharePoint en el centro de administración de Microsoft 365. Si el sitio no está aprovisionado, el usuario debe iniciar sesión en OneDrive al menos una vez para crear el sitio.

El archivo CSV está vacío o solo contiene encabezados

El cmdlet Get-PnPFolderItem con -ItemType File devuelve solo los archivos de la carpeta especificada, no de las subcarpetas. Si la carpeta de destino no tiene archivos directamente dentro, la salida está vacía. Use -ItemType Folder primero para enumerar las subcarpetas, luego recorra cada subcarpeta para recopilar todos los archivos.

El script tarda mucho en cuentas de OneDrive grandes

Las cuentas de OneDrive con más de 10.000 archivos pueden hacer que el script tarde varios minutos. Agregue el parámetro -Recursive a Get-PnPFolderItem para incluir todas las carpetas anidadas en una sola llamada. Esto reduce el número de solicitudes de API y acelera la exportación.

Métodos alternativos para exportar el inventario de archivos de OneDrive

Si no puede usar PowerShell, otros dos métodos proporcionan datos de inventario parciales.

Informes de uso del centro de administración de Microsoft 365

Vaya al centro de administración de Microsoft 365, seleccione Informes, luego Uso y luego OneDrive. Este panel muestra el recuento de archivos por usuario, el recuento de archivos activos y el almacenamiento utilizado. Haga clic en Exportar para descargar un archivo CSV. Este informe no incluye nombres de archivos individuales ni el estado de uso compartido.

Inventario de datos del centro de cumplimiento de Microsoft 365

El centro de cumplimiento proporciona un informe de inventario de datos que enumera los archivos de OneDrive que contienen información confidencial. Este informe utiliza la búsqueda de contenido e incluye la ubicación del archivo, la fecha de última modificación y las etiquetas de clasificación. Se limita a los archivos que coinciden con la consulta de búsqueda y no cubre todos los archivos.

Elemento Script de PowerShell Informe del centro de administración
Granularidad de los datos Nombres de archivos individuales, tamaños, fechas y estado de uso compartido Solo recuentos agregados por usuario
Detalles de uso compartido Incluidos con cmdlets adicionales No incluidos
Facilidad de uso Requiere conocimientos de PowerShell No requiere scripting
Alcance Un solo usuario o todos los usuarios con un bucle Todos los usuarios a la vez
Límite de recuento de archivos Sin límite, pero los conjuntos grandes tardan Hasta 10.000 filas por exportación

El método de PowerShell le da control total sobre las columnas de datos y el alcance. El informe del centro de administración es más rápido para una visión general de alto nivel, pero carece de detalle.

Después de exportar el inventario, abra el CSV en Excel. Use filtros para ordenar por tamaño de archivo de forma descendente y encontrar los archivos más grandes. Use la columna de última modificación para identificar archivos con más de 12 meses de antigüedad. Cree una tabla dinámica para contar archivos por ruta de carpeta y obtener un desglose del almacenamiento.

Para la supervisión continua, programe el script de PowerShell con el Programador de tareas de Windows. Ejecútelo semanalmente y guarde la salida en una carpeta compartida. Compare los cambios semana a semana para realizar un seguimiento del crecimiento o detectar adiciones inusuales de archivos.

ADVERTISEMENT