POWERSHELL / SHAREPOINT
ProAdvancedRead-onlyLow

SharePoint migration readiness assessment

Produces a bounded SharePoint migration-readiness baseline from site size, lock state, sharing, ownership and list metadata without pretending to certify migration compatibility.

Pro generation after license validation · Review before running · No tenant access

What this PowerShell script does

Produces a bounded SharePoint migration-readiness baseline from site size, lock state, sharing, ownership and list metadata without pretending to certify migration compatibility.

Requirements

  • Scope - Assess all SharePoint sites discovered from tenant administration or only URLs supplied in a SiteUrl CSV. (Required)
  • SharePoint admin URL - Required for tenant metadata and validation in both scopes, for example https://contoso-admin.sharepoint.com. (Required)
  • Site list CSV path - CSV must contain a SiteUrl column. Duplicate URLs are ignored. (Conditional)
  • Entra app client ID - Your PnP app client ID. Leave empty only when a PnP default client ID is already configured. (Optional)
  • Large-site review threshold (GB) - Default 500 GB observation threshold follows Microsoft migration assessment guidance for large sites. (Required)
  • Large-list review threshold (items) - Default 20,000 item observation threshold follows Microsoft migration assessment guidance for large lists. (Required)
  • CSV output path - Use a new absolute Windows CSV path and protect the resulting report appropriately. (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 assessment can contain sensitive organizational inventory. Protect the CSV and share it only with administrators who need it.
OPS / WORKSPACE

Ready to generate

Configure SharePoint migration readiness assessment in the Builder, review the generated PowerShell and run it in your own environment.

When to use this template

Use this bounded assessment early in migration planning to surface large sites, large lists, lock state, external-sharing exposure, versioning gaps and ownership review signals. It does not execute a migration and does not certify that a site is migration-ready.

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.

No tenant connection is required. When you generate a Pro script, only the configuration values needed for that template are sent to Opselith after license validation.

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 SharePoint migration readiness assessment →
OPS / SCRIPT DETAILS

Script details

Produces a bounded SharePoint migration-readiness baseline from site size, lock state, sharing, ownership and list metadata without pretending to certify migration compatibility. Review these details before generating or running the script.

sharepointmigrationreadinessassessmentlarge-siteslarge-listsownershipsharing

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. Performs a bounded SharePoint site/list metadata assessment and does not execute migration, enumerate files, crawl deep permissions or change source configuration.

Parameters

  • Scope - Assess all SharePoint sites discovered from tenant administration or only URLs supplied in a SiteUrl CSV. (Required)
  • SharePoint admin URL - Required for tenant metadata and validation in both scopes, for example https://contoso-admin.sharepoint.com. (Required)
  • Site list CSV path - CSV must contain a SiteUrl column. Duplicate URLs are ignored. (Conditional)
  • Entra app client ID - Your PnP app client ID. Leave empty only when a PnP default client ID is already configured. (Optional)
  • Large-site review threshold (GB) - Default 500 GB observation threshold follows Microsoft migration assessment guidance for large sites. (Required)
  • Large-list review threshold (items) - Default 20,000 item observation threshold follows Microsoft migration assessment guidance for large lists. (Required)
  • CSV output path - Use a new absolute Windows CSV path and protect the resulting report appropriately. (Required)

Output

Output: CSV assessment with SiteUrl, Title, Template, GroupConnected, StorageUsageGB, StorageQuotaGB, StoragePercentUsed, SharingCapability, LockState, Owner, SiteCollectionAdminCount, DocumentLibraryCount, ListCount, LargestListItemCount, LargeListCount, VersioningDisabledLibraryCount, LargeSiteThresholdGB, LargeListThreshold, SignalCount, Signals, AssessmentResult, Status and Error.

This template is part of the Pro library. The full Pro script is generated by Opselith after server-side license validation; only the configuration values needed by this template are sent for generation. No tenant connection is required. When you generate a Pro script, only the configuration values needed for that template are sent to Opselith after license validation.

Example use

Produces a bounded SharePoint migration-readiness baseline from site size, lock state, sharing, ownership and list metadata without pretending to certify migration compatibility.

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 and a SharePoint Administrator account. Choose tenant or site-list scope, review the default 500 GB site and 20,000 item list observation thresholds, and protect the generated CSV because it can contain sensitive organizational inventory.

Opselith quality checks

  • Included in the current Opselith PowerShell quality suite
  • Bounded metadata assessment with no item/file crawl
  • No false READY or migration-compatible verdict
  • Microsoft migration guidance thresholds are observations, not universal blockers
  • Partial data and inaccessible sites are explicit
  • Sensitive-report warning included