Modules/OneDrive/M365OneDrive.psm1


$output = @()
$nfi = New-Object System.Globalization.CultureInfo -ArgumentList "en-us",$false
$nfi.NumberFormat.PercentDecimalDigits = 2
Get-SPOSite -Template "SPSPERS" -limit ALL -includepersonalsite $True | Select-Object Title, Owner, StorageUsageCurrent, StorageQuota, Status | ForEach-Object {
    $user = Get-MsolUser -UserPrincipalName $_.Owner -ErrorAction SilentlyContinue
    $obj = New-Object -TypeName psobject â€“Prop $properties
    $obj | Add-Member -MemberType NoteProperty -Name UserPrincipalName -Value $_.Owner
    $obj | Add-Member -MemberType NoteProperty -Name DisplayName -Value $_.Title
    $obj | Add-Member -MemberType NoteProperty -Name IsOneDriveEnabled -Value (& { If ($_.Status -eq "Active" ) { $true } Else { $false } })
    $obj | Add-Member -MemberType NoteProperty -Name IsLicensed -Value (& { If ($user.IsLicensed ) { $user.IsLicensed } Else { $false } })
    $obj | Add-Member -MemberType NoteProperty -Name StorageUsageCurrent -Value (& Convert-Size -From MB -To GB -Value $_.StorageUsageCurrent -Precision 2)
    $obj | Add-Member -MemberType NoteProperty -Name StorageQuota -Value (& Convert-Size -From MB -To GB -Value $_.StorageQuota -Precision 2)
    $obj | Add-Member -MemberType NoteProperty -Name PercentageValue -Value ($_.StorageUsageCurrent/$_.StorageQuota)
    $obj | Add-Member -MemberType NoteProperty -Name PercentageUsed -Value ($_.StorageUsageCurrent/$_.StorageQuota).ToString("P", $nfi)
    $output += $obj
}
$output | Sort-Object PercentageValue -Descending | Select-Object UserPrincipalName, DisplayName, IsOneDriveEnabled, IsLicensed, StorageUsageCurrent, StorageQuota, PercentageUsed

$output | Sort-Object PercentageValue -Descending | Select-Object UserPrincipalName, DisplayName, IsOneDriveEnabled, IsLicensed, StorageUsageCurrent, StorageQuota, PercentageUsed | Export-CSV $env:OneDriveCommercial\Reports\2020-05-11.csv -NoTypeInformation