用户可以在其OneDrive存储中占用很多空间。借助OneDrive尺寸报告,您可以看到哪些用户几乎达到了极限。然后,您可以升级OneDrive存储或告诉他们清理。在本文中,您将学习如何在Microsoft 365中导出OneDrive用法报告。
要在Microsoft 365中为用户提供OneDrive存储大小,请按照以下步骤操作:
- 登录到Microsoft 365管理中心
- 点击用户>活动用户
- 单击用户从列表中

- 点击OneDrive
- 检查使用的存储部分


优势在于,OneDrive存储使用的数据在几分钟之内就填充了。
Microsoft 365 Admin Center中的Export OneDrive用法报告
要为Microsoft 365中的所有用户导出OnEdrive用法报告,请按照以下步骤:
- 登录到Microsoft 365管理中心
- 点击设置> org设置>服务


- 点击报告
- 取消选中在所有报告中显示隐藏的用户,组和站点名称
- 点击节省


- 点击报告>用法
- 点击OneDrive然后向下滚动到底部
- 点击出口要下载OneDrive用法报告CSV文件


该报告的缺点是数据不是立即最新的。报告在48小时内可用。
带有PowerShell脚本的出口OnEdrive用法报告
Got-onedriversizereport.ps1 PowerShell脚本将为所有用户提供OneDrive大小,并输出以下信息:
- 所有者
- UPN
- 站点
- ISDEATED
- 最后一个
- filecount
- ActiveFileCount
- 航程
- 二手GB
- 百分比
- 城市
- 国家
- 部门
- 职称
笔记:脚本检查组织中的报告中隐藏的用户数据是否已启用。如果是这样,它会暂时禁用它,一旦报告完成,它将再次实现。
要向所有具有PowerShell的用户导出ONEDRIVE使用报告,请按照以下步骤:
步骤1。安装Microsoft Graph PowerShell
运行Windows PowerShell作为管理员并安装Microsoft Graph PowerShell。
Install-Module Microsoft.Graph -Force
重要的:在运行CMDLET或脚本以防止错误和错误结果之前,请务必更新到最新的Microsoft Graph PowerShell模块版本。
步骤2。下载Get-onedriversizereport PowerShell脚本
在(c :)驾驶:
- 脚本
- 温度
下载并将Get-onedrivesizereport.ps1 PowerShell脚本放在C:脚本文件夹。脚本将将所有用户大小导出到报告中的报告C:温度文件夹。
确保文件未阻止以防止运行脚本时的错误。在运行PowerShell脚本时,请在文章中阅读更多信息。
另请阅读:
另一个选择是将下面的代码复制并粘贴到记事本中。给它名字Get-onedrivesizereport.ps1并将其放在C:脚本文件夹。
<#
.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:tempOneDriveSizeReport.csv"
$TempExportFile = "C:tempTempExportFile.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-MgAdminReportSetting).DisplayConcealedNames -eq $true) {
$Parameters = @{ displayConcealedNames = $false }
Write-Host "Unhiding concealed report data to retrieve full user information..." -ForegroundColor Cyan
Update-MgAdminReportSetting -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[Object]]::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 = [int]$Site.'File Count'
ActiveFileCount = [int]$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-MgAdminReportSetting -BodyParameter $Parameters
}
# Clean up the temporary export file
if (Test-Path $TempExportFile) {
Remove-Item $TempExportFile
Write-Host "Temporary export file removed." -ForegroundColor Cyan
}
- 第24/25行:编辑CSV文件路径
步骤3。运行Got-onedriversizereport PowerShell脚本
在下面运行命令以运行Get-onedrivesizereport.ps1Powershell脚本。
c:scripts.Get-OneDriveSizeReport.ps1
下面的输出出现。
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:tempOneDriveSizeReport.csv
Re-enabling data concealment in tenant reports...
Temporary export file removed.
报告输出将发送到单独的窗口中的交互式表(Out-GridView)。


步骤4。检查OneDrive用法报告CSV文件
Got-onedrivesizereport.ps1 powershell脚本将所有Microsoft 365用户登录到CSV文件。
查找文件Onedrivesizereport.csv在路径中C:温度。
使用您喜欢的应用程序打开CSV文件。在我们的示例中,这是Microsoft Excel。


就是这样!
笔记:从2025年1月开始,微软将向组织收取无许可的OneDrive帐户存储。知道哪些帐户未经许可的绝佳方法是获取无许可的OneDrive用户帐户报告。
结论
您学习了如何在Microsoft 365中导出OnEdrive用法报告。如果要立即检查用户的OneDrive尺寸数据,请查找Microsoft 365 Admin Center中的用户。要获取更多详细信息的报告,请使用Microsoft 365 Admin Center中的报告部分或使用PowerShell。缺点是您需要等待48小时才能获得数据。
您喜欢这篇文章吗?您可能还喜欢带有PowerShell脚本的Microsoft 365安全建议。不要忘记关注我们并分享这篇文章。