Workloads/Get-OneDriveUsage.ps1
|
# Get-OneDriveUsage.ps1 # Collects 30-day OneDrive activity via the Graph Reports API. # Part of the M365-QuickAssess module -- not exported. function Get-OneDriveUsage { param ( $Assessment ) Write-Log "Collecting OneDrive activity data (30 days)" try { $od = Get-GraphReportCsv ` -Uri "https://graph.microsoft.com/v1.0/reports/getOneDriveUsageAccountDetail(period='D30')" if ( -not $od -or $od.Count -eq 0 ) { Write-Log "OneDrive activity report returned no data" "WARN" $Assessment.OneDrive.ActiveOneDriveCount = $null return } $activeCount = ( $od | Where-Object { $_."Last Activity Date" } ).Count $Assessment.OneDrive.ActiveOneDriveCount = $activeCount Write-Log "OneDrive (30 days): Active=$activeCount" } catch { Write-Log "OneDrive activity collection failed: $( $_.Exception.Message )" "ERROR" } } |