Exportieren Sie den OneDrive-Nutzungsbericht in Microsoft 365
Benutzer können viel Platz in ihrem OneDrive-Speicher beanspruchen. Mit einem OneDrive-Größenbericht können Sie sehen, welche Benutzer fast das Limit erreicht haben. Anschließend können Sie den OneDrive-Speicher aktualisieren oder ihn auffordern, ihn zu bereinigen. In diesem Artikel erfahren Sie, wie Sie einen OneDrive-Nutzungsbericht in Microsoft 365 exportieren.
Ermitteln Sie die genutzte Größe des OneDrive-Speichers in Microsoft 365
Führen Sie die folgenden Schritte aus, um die für einen Benutzer in Microsoft 365 verwendete OneDrive-Speichergröße zu ermitteln:
- Melden Sie sich beim Microsoft 365 Admin Center an
- Klicken Sie auf Benutzer > Aktive Benutzer
- Klicken Sie in der Liste auf den Benutzer
- Klicken Sie auf OneDrive
- Überprüfen Sie den Abschnitt Verwendeter Speicher
Der Vorteil besteht darin, dass der genutzte OneDrive-Speicher innerhalb weniger Minuten mit Daten gefüllt ist.
Exportieren Sie den OneDrive-Nutzungsbericht im Microsoft 365 Admin Center
Um den OneDrive-Nutzungsbericht für alle Benutzer in Microsoft 365 zu exportieren, führen Sie die folgenden Schritte aus:
- Melden Sie sich beim Microsoft 365 Admin Center an
- Klicken Sie auf Einstellungen > Organisationseinstellungen > Dienste
- Klicken Sie auf Berichte
- Deaktivieren Sie das Kontrollkästchen Verborgene Benutzer-, Gruppen- und Site-Namen in allen Berichten anzeigen
- Klicken Sie auf Speichern
- Klicken Sie auf Berichte > Nutzung
- Klicken Sie auf OneDrive und scrollen Sie nach unten
- Klicken Sie auf Exportieren, um die CSV-Datei des OneDrive-Nutzungsberichts herunterzuladen
Der Nachteil dieses Berichts besteht darin, dass die Daten nicht sofort aktuell sind. Die Berichte stehen innerhalb von 48 Stunden zur Verfügung.
Exportieren Sie den OneDrive-Nutzungsbericht mit dem PowerShell-Skript
Das PowerShell-Skript „Get-OneDriveSizeReport.ps1“ ruft die OneDrive-Größe für alle Benutzer ab und gibt die folgenden Informationen aus:
- Eigentümer
- UPN
- SiteId
- Ist gelöscht
- LetzteAktivität
- FileCount
- ActiveFileCount
- QuoteGB
- GebrauchtGB
- Prozentuale Nutzung
- Stadt
- Land
- Abteilung
- Berufsbezeichnung
Hinweis: Das Skript prüft, ob die verborgenen Benutzerdaten in den Berichten in der Organisation aktiviert sind. Wenn dies der Fall ist, wird es vorübergehend deaktiviert und nach Abschluss des Berichts wieder aktiviert.
Um den OneDrive-Nutzungsbericht für alle Benutzer mit PowerShell zu exportieren, führen Sie die folgenden Schritte aus:
Schritt 1. Installieren Sie Microsoft Graph PowerShell
Führen Sie Windows PowerShell als Administrator aus und installieren Sie Microsoft Graph PowerShell.
Install-Module Microsoft.Graph -ForceInstall-Module Microsoft.Graph.Beta -AllowClobber -ForceWichtig: Installieren Sie immer die Module Microsoft Graph PowerShell und Microsoft Graph Beta PowerShell. Das liegt daran, dass einige Cmdlets in der endgültigen Version noch nicht verfügbar sind und daher nicht funktionieren. Aktualisieren Sie beide Module auf die neueste Version, bevor Sie ein Cmdlet oder Skript ausführen, um Fehler und falsche Ergebnisse zu vermeiden.
Schritt 2. Laden Sie das PowerShell-Skript „Get-OneDriveSizeReport“ herunter
Erstellen Sie zwei Ordner auf dem Laufwerk (C:):
- Skripte
- Temp
Laden Sie das PowerShell-Skript „Get-OneDriveSizeReport.ps1“ herunter und platzieren Sie es im Ordner C:\Scripts. Das Skript exportiert alle OneDrive-Größen des Benutzers in einen Bericht im Ordner C:\Temp.
Stellen Sie sicher, dass die Datei entsperrt ist, um Fehler beim Ausführen des Skripts zu vermeiden. Lesen Sie mehr im Artikel Fehler „Nicht digital signiert“ beim Ausführen des PowerShell-Skripts.
Eine andere Möglichkeit besteht darin, den folgenden Code zu kopieren und in Notepad einzufügen. Geben Sie ihm den Namen Get-OneDriveSizeReport.ps1 und legen Sie es im Ordner C:\Scripts ab.
<#
.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
}- Zeile 24/25: Bearbeiten Sie den CSV-Dateipfad
Schritt 3: Führen Sie das PowerShell-Skript „Get-OneDriveSizeReport“ aus
Führen Sie den folgenden Befehl aus, um das PowerShell-Skript Get-OneDriveSizeReport.ps1 auszuführen.
c:\scripts\.\Get-OneDriveSizeReport.ps1Die folgende Ausgabe wird angezeigt.
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.Die Berichtsausgabe wird in einem separaten Fenster (Out-GridView) an eine interaktive Tabelle gesendet.
Schritt 4. Überprüfen Sie die CSV-Datei des OneDrive-Nutzungsberichts
Das PowerShell-Skript „Get-OneDriveSizeReport.ps1“ exportiert die OneDrive-Größen aller Microsoft 365-Benutzer in eine CSV-Datei.
Suchen Sie die Datei OneDriveSizeReport.csv im Pfad C:\temp.
Öffnen Sie die CSV-Datei mit Ihrer Lieblingsanwendung. In unserem Beispiel ist es Microsoft Excel.
Das ist es!
Hinweis: Ab Januar 2025 erhebt Microsoft von Organisationen Gebühren für nicht lizenzierten OneDrive-Kontospeicher. Eine hervorragende Möglichkeit herauszufinden, welche Konten nicht lizenziert sind, besteht darin, einen Bericht über nicht lizenzierte OneDrive-Benutzerkonten zu erhalten.
Lesen Sie mehr: Konfigurieren Sie administrative OneDrive-Vorlagendateien (ADMX/ADML) »
Abschluss
Sie haben gelernt, wie Sie einen OneDrive-Nutzungsbericht in Microsoft 365 exportieren. Wenn Sie die OneDrive-Größendaten für einen Benutzer sofort überprüfen möchten, suchen Sie den Benutzer im Microsoft 365 Admin Center. Um einen Bericht mit weiteren Details zu erhalten, verwenden Sie den Berichtsabschnitt im Microsoft 365 Admin Center oder verwenden Sie PowerShell. Der Nachteil besteht darin, dass Sie 48 Stunden warten müssen, bis die Daten verfügbar sind.
Hat Ihnen dieser Artikel gefallen? Möglicherweise gefallen Ihnen auch Microsoft 365-Sicherheitsempfehlungen mit PowerShell-Skript. Vergessen Sie nicht, uns zu folgen und diesen Artikel zu teilen.






