Finding OneDrive for Business space usage using PowerShell

Microsoft OneDrive for Business Logo One of the SharePoint Online administrator of the customer I work with wanted to know the space used by a business user’s private OneDrive.

The following PowerShell script helps to know the exact same information.

The script assumes that you have the SharePoint administrator role in your tenant.

To run this script “SharePoint Online Management Shell” PowerShell module should have been installed

Make sure you update the variables $tenantName & $url

Please note that the below scripts use minimal error handling for simplicity and clean code.

Script for single URL

Clear-Host
 
$tenantName = "tenant name"
$url = "https://unit4-my.sharepoint.com/personal/<user one drive url>"
 
Connect-SPOService -Url "https://$tenantName-admin.sharepoint.com"
 
$sc = Get-SPOSite $url -Detailed -ErrorAction SilentlyContinue | Select-Object url, storageusagecurrent, Owner 
$usage = [math]::round(($sc.StorageUsageCurrent/1024),2)
$owner = $sc.Owner
 
Write-Host "Site: $url"
Write-Host "Owner: $owner"
Write-Host "Usage: $usage GB"
 
Disconnect-SPOService

The following script helps to do the same for multiple URLs. All you need is a text file with OneDrive URL per line and it will provide output in a csv file.

Script for multiple URLs

$inputFileName = "OneDrive-Usage-URLs.txt"
$outputFileName = "OneDrive-Usage-URLs.csv"

Clear-Host
$tenantName = "tenant name"

Connect-SPOService -Url "https://$tenantName-admin.sharepoint.com"
$inputFile = Get-Content -Path .\$inputFileName
Add-Content .\$outputFileName -Value "URL,Owner,Usage (GB)"

foreach ($url in $inputFile) {
    $sc = Get-SPOSite $url -Detailed -ErrorAction SilentlyContinue | Select-Object url, storageusagecurrent, Owner
    $usage = [math]::round(($sc.StorageUsageCurrent / 1024), 2)
    $owner = $sc.Owner
    Add-Content .\$outputFileName -Value "$url,$owner,$usage"
    Write-Host "Site: $url"
    Write-Host "Owner: $owner"
    Write-Host "Usage: $usage GB"
    Write-Host ""
}

Disconnect-SPOService

Input file format (OneDrive-Usage-URLs.txt)

https://tenant-my.sharepoint.com/personal/user1_tenant_com
https://tenant-my.sharepoint.com/personal/user2_tenant_com

Output file format (OneDrive-Usage-URLs.csv)

URL,Owner,Usage (GB)
https://tenant-my.sharepoint.com/personal/user1_tenant_com,user1@tenant.com,123.45
https://unit4-my.sharepoint.com/personal/user2_tenant_com,user2@tenant.com,678.90