Eksporter OneDrive-bruksrapport i Microsoft 365

Brukere kan ta opp mye plass i OneDrive-lagringen. Med en OneDrive-størrelsesrapport kan du se hvilke brukere som nesten når grensen. Du kan deretter oppgradere OneDrive-lagringen eller be dem om å rydde opp. I denne artikkelen lærer du hvordan du eksporterer OneDrive-bruksrapport i Microsoft 365.

Få OneDrive-lagring brukt størrelse i Microsoft 365

For å få OneDrive-lagringsstørrelsen brukt for en bruker i Microsoft 365, følg trinnene nedenfor:

  1. Logg påMicrosoft 365 administrasjonssenter
  2. Klikk påBrukere > Aktive brukere
  3. Klikk påbrukerfra listen
  1. Klikk påOneDrive
  2. SjekkLagring bruktdel

Fordelen er at OneDrive-lagringsdataene som brukes, fylles ut i løpet av få minutter.

Eksporter OneDrive-bruksrapport i Microsoft 365 administrasjonssenter

For å eksportere OneDrive-bruksrapport for alle brukere i Microsoft 365, følg trinnene nedenfor:

  1. Logg påMicrosoft 365 administrasjonssenter
  2. Klikk påInnstillinger > Organisasjonsinnstillinger > Tjenester
  1. KlikkRapporter
  2. Fjern merketVis skjulte bruker-, gruppe- og nettstedsnavn i alle rapporter
  3. KlikkSpare
  1. KlikkRapporter > Bruk
  2. KlikkOneDriveog bla ned til bunnen
  3. Klikk påEksportfor å laste ned CSV-filen for OneDrive-bruksrapporten

Ulempen med denne rapporten er at dataene ikke er oppdatert med en gang. Rapportene blir tilgjengelige innen 48 timer.

Eksporter OneDrive-bruksrapport med PowerShell-skript

Get-OneDriveSizeReport.ps1 PowerShell-skriptet vil få OneDrive-størrelsen for alle brukere og sende ut informasjonen nedenfor:

  1. Eier
  2. UPN
  3. SiteId
  4. Er slettet
  5. LastActivity
  6. FileCount
  7. ActiveFileCount
  8. QuotaGB
  9. Brukt GB
  10. Prosent brukt
  11. By
  12. Land
  13. Avdeling
  14. Stillingstittel

Note:Skriptet sjekker om de skjulte brukerdataene i rapportene er aktivert i organisasjonen. I så fall deaktiverer den den midlertidig, og når rapporten er ferdig, aktiveres den igjen.

For å eksportere OneDrive-bruksrapport for alle brukere med PowerShell, følg trinnene nedenfor:

Trinn 1. Installer Microsoft Graph PowerShell

Kjør Windows PowerShell som administrator og installer Microsoft Graph PowerShell.

Install-Module Microsoft.Graph -Force

Viktig:Oppdater alltid til den nyeste Microsoft Graph PowerShell-modulversjonen før du kjører en cmdlet eller et skript for å forhindre feil og feil resultater.

Trinn 2. Last ned Get-OneDriveSizeReport PowerShell-skript

Opprett to mapper på(C:)kjøre:

  • Skript
  • Temp

Last ned og plasser Get-OneDriveSizeReport.ps1 PowerShell-skriptet iC:Skriptmappe. Skriptet vil eksportere alle brukernes OneDrive-størrelser til en rapport iC: Tempmappe.

Sørg for at filen er opphevet for å forhindre feil når du kjører skriptet. Les mer i artikkelen Ikke digitalt signert feil ved kjøring av PowerShell-skript.

Et annet alternativ er å kopiere og lime inn koden nedenfor i Notisblokk. Gi den navnetGet-OneDriveSizeReport.ps1og plasser den iC:Skriptmappe.

<#
    .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
}
  • Linje 24/25:Rediger CSV-filbanen

Trinn 3. Kjør Get-OneDriveSizeReport PowerShell-skript

Kjør kommandoen nedenfor for å kjøreGet-OneDriveSizeReport.ps1PowerShell-skript.

c:scripts.Get-OneDriveSizeReport.ps1

Utgangen nedenfor vises.

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.

Rapportutdata sendes til en interaktiv tabell i et eget vindu (Out-GridView).

Trinn 4. Sjekk OneDrive-bruksrapportens CSV-fil

Get-OneDriveSizeReport.ps1 PowerShell-skriptet eksporterer alle Microsoft 365-brukere OneDrive-størrelser til en CSV-fil.

Finn filenOneDriveSizeReport.csvi stienC:temp.

Åpne CSV-filen med favorittappen din. I vårt eksempel er det Microsoft Excel.

Det er det!

Note:Fra og med januar 2025 vil Microsoft belaste organisasjoner for ulisensiert OneDrive-kontolagring. En utmerket måte å vite hvilke kontoer som er ulisensierte er åFå en ulisensiert OneDrive-brukerkontorapport.

Konklusjon

Du lærte hvordan du eksporterer OneDrive-bruksrapport i Microsoft 365. Hvis du umiddelbart vil sjekke OneDrive-størrelsesdataene for en bruker, kan du slå opp brukeren i Microsoft 365 administrasjonssenter. For å få en rapport med flere detaljer, bruk rapportdelen i Microsoft 365 administrasjonssenter eller bruk PowerShell. Ulempen er at du må vente 48 timer før dataene blir tilgjengelige.

Foreslått å lese:Eksporter Microsoft 365-brukere siste passordendring dato og klokkeslett

Likte du denne artikkelen? Du kan også like Microsoft 365-sikkerhetsanbefalinger med PowerShell-skript. Ikke glem å følge oss og dele denne artikkelen.

Related Posts