Exportar informe de uso de OneDrive en Microsoft 365
Los usuarios pueden ocupar mucho espacio en su almacenamiento de OneDrive. Con un informe de tamaño de OneDrive, puedes ver qué usuarios casi alcanzan el límite. Luego puede actualizar el almacenamiento de OneDrive o decirles que lo limpien. En este artículo, aprenderá cómo exportar el informe de uso de OneDrive en Microsoft 365.
Obtener el tamaño utilizado del almacenamiento de OneDrive en Microsoft 365
Para obtener el tamaño utilizado del almacenamiento de OneDrive para un usuario en Microsoft 365, siga los pasos a continuación:
- Iniciar sesión en el centro de administración de Microsoft 365
- Haga clic en Usuarios > Usuarios activos
- Haga clic en el usuario de la lista
- Haga clic en OneDrive
- Consulta la sección Almacenamiento utilizado
La ventaja es que los datos utilizados en el almacenamiento de OneDrive se completan en unos minutos.
Exportar informe de uso de OneDrive en el centro de administración de Microsoft 365
Para exportar el informe de uso de OneDrive para todos los usuarios en Microsoft 365, siga los pasos a continuación:
- Iniciar sesión en el centro de administración de Microsoft 365
- Haga clic en Configuración > Configuración de la organización > Servicios
- Haga clic en Informes
- Desmarque Mostrar nombres de usuarios, grupos y sitios ocultos en todos los informes.
- Haga clic en Guardar
- Haga clic en Informes > Uso
- Haga clic en OneDrive y desplácese hacia abajo
- Haga clic en Exportar para descargar el archivo CSV del informe de uso de OneDrive.
La desventaja de este informe es que los datos no están actualizados de inmediato. Los informes estarán disponibles en un plazo de 48 horas.
Exportar informe de uso de OneDrive con script de PowerShell
El script de PowerShell Get-OneDriveSizeReport.ps1 obtendrá el tamaño de OneDrive para todos los usuarios y generará la siguiente información:
- Dueño
- UPN
- ID del sitio
- Está eliminado
- Última actividad
- Recuento de archivos
- ActiveFileCount
- CuotaGB
- UsadoGB
- Porcentaje utilizado
- Ciudad
- País
- Departamento
- Título profesional
Nota: La secuencia de comandos comprueba si los datos de usuario ocultos en los informes están habilitados en la organización. Si es así, lo deshabilita temporalmente y una vez finalizado el informe lo vuelve a habilitar.
Para exportar el informe de uso de OneDrive para todos los usuarios con PowerShell, siga los pasos a continuación:
Paso 1. Instale Microsoft Graph PowerShell
Ejecute Windows PowerShell como administrador e instale Microsoft Graph PowerShell.
Install-Module Microsoft.Graph -ForceInstall-Module Microsoft.Graph.Beta -AllowClobber -ForceImportante: Instale siempre los módulos Microsoft Graph PowerShell y Microsoft Graph Beta PowerShell. Esto se debe a que algunos cmdlets aún no están disponibles en la versión final y no funcionarán. Actualice ambos módulos a la última versión antes de ejecutar un cmdlet o script para evitar errores y resultados incorrectos.
Paso 2. Descargue el script de PowerShell Get-OneDriveSizeReport
Cree dos carpetas en la unidad (C:):
- Guiones
- Temperatura
Descargue y coloque el script de PowerShell Get-OneDriveSizeReport.ps1 en la carpeta C:\Scripts. El script exportará todos los tamaños de OneDrive de los usuarios a un informe en la carpeta C:\Temp.
Asegúrese de que el archivo esté desbloqueado para evitar errores al ejecutar el script. Lea más en el artículo Error sin firma digital al ejecutar el script de PowerShell.
Otra opción es copiar y pegar el código siguiente en el Bloc de notas. Asígnale el nombre Get-OneDriveSizeReport.ps1 y colócalo en la carpeta C:\Scripts.
<#
.SYNOPSIS
Get-OneDriveSizeReport.ps1
.DESCRIPTION
Export OneDrive storage usage in Microsoft 365 to CSV file with PowerShell.
.LINK
www.alitajran.com/export-onedrive-usage-report/
.NOTES
Written by: ALI TAJRAN
Website: www.alitajran.com
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V1.00, 08/10/2024 - Initial version
#>
# Connect to Microsoft Graph with necessary permissions
Connect-MgGraph -NoWelcome -Scopes "User.Read.All", "Reports.Read.All", "ReportSettings.ReadWrite.All"
# Define file paths
$CSVOutputFile = "C:\temp\OneDriveSizeReport.csv"
$TempExportFile = "C:\temp\TempExportFile.csv"
# Remove the temporary export file if it exists
if (Test-Path $TempExportFile) {
Remove-Item $TempExportFile
}
# Check if tenant reports have concealed user data, and adjust settings if necessary
if ((Get-MgBetaAdminReportSetting).DisplayConcealedNames -eq $true) {
$Parameters = @{ displayConcealedNames = $false }
Write-Host "Unhiding concealed report data to retrieve full user information..." -ForegroundColor Cyan
Update-MgBetaAdminReportSetting -BodyParameter $Parameters
$ConcealedFlag = $true
}
else {
$ConcealedFlag = $false
Write-Host "User data is already fully visible in the reports." -ForegroundColor Cyan
}
# Retrieve detailed user account information
Write-Host "Fetching user account details from Microsoft Graph..." -ForegroundColor Cyan
# Define user properties to be retrieved
$Properties = 'Id', 'displayName', 'userPrincipalName', 'city', 'country', 'department', 'jobTitle', 'officeLocation'
# Define parameters for retrieving users with assigned licenses
$userParams = @{
All = $true
Filter = "assignedLicenses/`$count ne 0 and userType eq 'Member'"
ConsistencyLevel = 'Eventual'
CountVariable = 'UserCount'
Sort = 'displayName'
}
# Get user account information and select the desired properties
$Users = Get-MgUser @UserParams -Property $Properties | Select-Object -Property $Properties
# Create a hashtable to map UPNs (User Principal Names) to user details
$UserHash = @{}
foreach ($User in $Users) {
$UserHash[$User.userPrincipalName] = $User
}
# Retrieve OneDrive for Business site usage details for the last 30 days and export to a temporary CSV file
Write-Host "Retrieving OneDrive for Business site usage details..." -ForegroundColor Cyan
Get-MgReportOneDriveUsageAccountDetail -Period D30 -Outfile $TempExportFile
# Import the data from the temporary CSV file
$ODFBSites = Import-CSV $TempExportFile | Sort-Object 'User display name'
if (-not $ODFBSites) {
Write-Host "No OneDrive sites found." -ForegroundColor Yellow
return
}
# Calculate total storage used by all OneDrive for Business accounts
$TotalODFBGBUsed = [Math]::Round(($ODFBSites.'Storage Used (Byte)' | Measure-Object -Sum).Sum / 1GB, 2)
# Initialize a list to store report data
$Report = [System.Collections.Generic.List[PSCustomObject]]::new()
# Populate the report with detailed information for each OneDrive site
foreach ($Site in $ODFBSites) {
$UserData = $UserHash[$Site.'Owner Principal name']
$ReportLine = [PSCustomObject]@{
Owner = $Site.'Owner display name'
UserPrincipalName = $Site.'Owner Principal name'
SiteId = $Site.'Site Id'
IsDeleted = $Site.'Is Deleted'
LastActivityDate = $Site.'Last Activity Date'
FileCount = $Site.'File Count'
ActiveFileCount = $Site.'Active File Count'
QuotaGB = [Math]::Round($Site.'Storage Allocated (Byte)' / 1GB, 2)
UsedGB = [Math]::Round($Site.'Storage Used (Byte)' / 1GB, 2)
PercentUsed = [Math]::Round($Site.'Storage Used (Byte)' / $Site.'Storage Allocated (Byte)' * 100, 2)
City = $UserData.city
Country = $UserData.country
Department = $UserData.department
JobTitle = $UserData.jobTitle
}
$Report.Add($ReportLine)
}
# Export the report to a CSV file and display the data in a grid view
$Report | Sort-Object UsedGB -Descending | Export-CSV -NoTypeInformation -Encoding utf8 $CSVOutputFile
$Report | Sort-Object UsedGB -Descending | Out-GridView -Title OneDriveUsageReport
Write-Host ("Current OneDrive for Business storage consumption is {0} GB. Report saved to {1}" -f $TotalODFBGBUsed, $CSVOutputFile) -ForegroundColor Cyan
# Reset tenant report data concealment setting if it was modified earlier
if ($ConcealedFlag -eq $true) {
Write-Host "Re-enabling data concealment in tenant reports..." -ForegroundColor Cyan
$Parameters = @{ displayConcealedNames = $true }
Update-MgBetaAdminReportSetting -BodyParameter $Parameters
}
# Clean up the temporary export file
if (Test-Path $TempExportFile) {
Remove-Item $TempExportFile
Write-Host "Temporary export file removed." -ForegroundColor Cyan
}- Línea 24/25: Editar la ruta del archivo CSV
Paso 3. Ejecute el script de PowerShell Get-OneDriveSizeReport
Ejecute el siguiente comando para ejecutar el script de PowerShell Get-OneDriveSizeReport.ps1.
c:\scripts\.\Get-OneDriveSizeReport.ps1Aparece el siguiente resultado.
Unhiding concealed report data to retrieve full user information...
Fetching user account details from Microsoft Graph...
Retrieving OneDrive for Business site usage details...
Current OneDrive for Business storage consumption is 124,19 GB. Report saved to C:\temp\OneDriveSizeReport.csv
Re-enabling data concealment in tenant reports...
Temporary export file removed.El resultado del informe se envía a una tabla interactiva en una ventana separada (Out-GridView).
Paso 4. Verifique el archivo CSV del informe de uso de OneDrive
El script de PowerShell Get-OneDriveSizeReport.ps1 exporta todos los tamaños de OneDrive de los usuarios de Microsoft 365 a un archivo CSV.
Busque el archivo OneDriveSizeReport.csv en la ruta C:\temp.
Abra el archivo CSV con su aplicación favorita. En nuestro ejemplo, es Microsoft Excel.
¡Eso es todo!
Nota: A partir de enero de 2025, Microsoft cobrará a las organizaciones por el almacenamiento sin licencia de la cuenta OneDrive. Una excelente manera de saber qué cuentas no tienen licencia es obtener un informe de cuentas de usuarios de OneDrive sin licencia.
Leer más: Configurar archivos de plantilla administrativa de OneDrive (ADMX/ADML) »
Conclusión
Aprendió a exportar el informe de uso de OneDrive en Microsoft 365. Si desea verificar instantáneamente los datos de tamaño de OneDrive para un usuario, busque el usuario en el centro de administración de Microsoft 365. Para obtener un informe con más detalles, use la sección de informes en el centro de administración de Microsoft 365 o use PowerShell. La desventaja es que hay que esperar 48 horas para que los datos estén disponibles.
¿Disfrutaste este artículo? También te pueden interesar las recomendaciones de seguridad de Microsoft 365 con script de PowerShell. No olvides seguirnos y compartir este artículo.






