POWERSHELL / SHAREPOINT
FreeBeginnerRead-onlyLow

Export OneDrive site inventory

Exports OneDrive for Business personal-site URLs, owners, storage, lock and sharing metadata for sizing, administration and migration inventory.

Generated locally in your browser · Runs in your PowerShell environment · Review before running

What this PowerShell script does

Exports OneDrive for Business personal-site URLs, owners, storage, lock and sharing metadata for sizing, administration and migration inventory.

Requirements

  • SharePoint admin URL - SharePoint tenant administration URL, for example https://contoso-admin.sharepoint.com. (Required)
  • Entra app client ID - Your PnP app client ID. Leave empty only when a PnP default client ID is already configured. (Optional)
  • CSV output path - Use a new absolute Windows CSV path. (Required)

Environment

  • Module: PnP.PowerShell
  • Runtime: 7.4+
  • Authentication: Interactive PnP login with your own Entra app/client ID or configured default
  • Permissions: AllSites.Read · SharePoint Administrator
  • Risk: Low
Review before you runThe generated script is read-only, but authentication and access requirements still apply in your tenant.
OPS / WORKSPACE

Ready to generate

Configure Export OneDrive site inventory in the Builder, review the generated PowerShell and run it in your own environment.

When to use this template

Use this tenant-level export for OneDrive discovery, storage sizing and migration planning. It reads SharePoint personal-site metadata and does not open or enumerate user files.

Important limitations

PowerShell and PnP requirements

Current PnP.PowerShell releases require PowerShell 7.4 or later. Interactive authentication requires your own Entra application/client ID, or a default client ID configured for PnP.PowerShell. Opselith does not connect to SharePoint or execute the script on your behalf.

Generate the script

  1. Open this template in the PowerShell Builder.
  2. Enter the required scope, authentication and output values.
  3. Generate the script, review its permissions and commands, then run it in your own PowerShell environment.
Generate Export OneDrive site inventory →
OPS / SCRIPT DETAILS

Script details

Exports OneDrive for Business personal-site URLs, owners, storage, lock and sharing metadata for sizing, administration and migration inventory. Review these details before generating or running the script.

onedrivesharepointpersonal-sitesinventorystoragemigrationexport

What it works with

Module: PnP.PowerShell

Context: PowerShell 7.4+ · SharePoint Online · PnP.PowerShell

Compatibility: PowerShell 7.4+ is required by current PnP.PowerShell releases.

Permissions and impact

Permissions: AllSites.Read · SharePoint Administrator

Risk: Low

Execution impact: Read-only. Reads OneDrive for Business personal-site metadata through SharePoint tenant administration and does not open user files or change OneDrive settings.

Parameters

  • SharePoint admin URL - SharePoint tenant administration URL, for example https://contoso-admin.sharepoint.com. (Required)
  • Entra app client ID - Your PnP app client ID. Leave empty only when a PnP default client ID is already configured. (Optional)
  • CSV output path - Use a new absolute Windows CSV path. (Required)

Output

Output: CSV report with Url, Owner, StorageUsageMB, StorageQuotaMB, StoragePercentUsed, LockState, SharingCapability, LastContentModifiedDate, Template, Status and Error.

This template is available in the free library and is generated locally in your browser.

Example use

Exports OneDrive for Business personal-site URLs, owners, storage, lock and sharing metadata for sizing, administration and migration inventory.

Enter the required values in the Builder, review the generated script and confirm the output before running it.

Before you run: Use PowerShell 7.4+ with PnP.PowerShell. Sign in to the SharePoint tenant administration site with your own Entra app/client ID and a SharePoint Administrator account. Choose a new CSV output path.

Opselith quality checks

  • Included in the current Opselith PowerShell quality suite
  • Uses the documented IncludeOneDriveSites + personal-site filter
  • No per-OneDrive content crawl
  • LastContentModifiedDate is not presented as user activity
  • Stable tenant-level CSV output