POWERSHELL / MIGRATION
ProAdvancedRead-onlyLow

Microsoft 365 Tenant Migration Assessment Workbook

Builds a local multi-sheet XLSX migration assessment workbook that correlates Entra ID, licensing, Exchange Online, Microsoft Teams, SharePoint Online and OneDrive inventory while preserving partial workload failures.

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

What this PowerShell script does

Builds a local multi-sheet XLSX migration assessment workbook that correlates Entra ID, licensing, Exchange Online, Microsoft Teams, SharePoint Online and OneDrive inventory while preserving partial workload failures.

Requirements

  • SharePoint admin URL - SharePoint tenant administration URL, for example https://contoso-admin.sharepoint.com. (Required)
  • PnP Entra app client ID - Your PnP app client ID. Leave empty only when a PnP default client ID is configured. (Optional)
  • Optional destination domain - Optional target SMTP/UPN domain used only to propose MappingCandidates. Leave empty to suppress destination suggestions. (Optional)
  • XLSX workbook path - Use a new absolute Windows .xlsx path. The workbook can contain sensitive organizational inventory and must be protected appropriately. (Required)

Environment

  • Module: Microsoft Graph + ExchangeOnlineManagement + MicrosoftTeams + PnP.PowerShell + ImportExcel
  • Runtime: 7.6+
  • Permissions: User.Read.All · Group.Read.All · Domain.Read.All · LicenseAssignment.Read.All · Read-only Exchange recipient/mailbox visibility · Teams read visibility / supported administrator role · AllSites.Read + SharePoint Administrator
  • Risk: Low
Review before you runInstall the documented modules, sign in with read-only administrative access, and use a new XLSX output path. Protect the workbook because it can contain users, aliases, group, mailbox, Teams and SharePoint inventory.
OPS / WORKSPACE

Ready to generate

Configure Microsoft 365 Tenant Migration Assessment Workbook in the Builder, review the generated PowerShell and run it in your own environment.

When to use this template

Use this early in migration planning to collect a broad cross-workload inventory and review signals in one local Excel workbook.

Important limitations

Generate the script

  1. Open this template in the PowerShell Builder.
  2. Enter the required values and review the documented permissions and output.
  3. Generate the script, inspect it, then run it in your own PowerShell environment.
Generate Microsoft 365 Tenant Migration Assessment Workbook →
OPS / SCRIPT DETAILS

Script details

Builds a local multi-sheet XLSX migration assessment workbook that correlates Entra ID, licensing, Exchange Online, Microsoft Teams, SharePoint Online and OneDrive inventory while preserving partial workload failures. Review these details before generating or running the script.

microsoft-365migrationassessmentexcelworkbookentraexchangeteams

What it works with

Module: Microsoft.Graph.Authentication · Microsoft.Graph.Users · Microsoft.Graph.Groups · Microsoft.Graph.Identity.DirectoryManagement · ExchangeOnlineManagement · MicrosoftTeams · PnP.PowerShell · ImportExcel

Context: PowerShell 7.6+ · Microsoft 365 multi-workload · local XLSX output

Compatibility: PowerShell 7.6+ satisfies current ExchangeOnlineManagement 3.10.x and current PnP.PowerShell requirements in one session.

Permissions and impact

Permissions: User.Read.All · Group.Read.All · Domain.Read.All · LicenseAssignment.Read.All · Read-only Exchange recipient/mailbox visibility · Teams read visibility / supported administrator role · AllSites.Read + SharePoint Administrator

Risk: Low

Execution impact: Read-only. Reads administrative data and does not intentionally change the target environment.

Parameters

  • SharePoint admin URL - SharePoint tenant administration URL, for example https://contoso-admin.sharepoint.com. (Required)
  • PnP Entra app client ID - Your PnP app client ID. Leave empty only when a PnP default client ID is configured. (Optional)
  • Optional destination domain - Optional target SMTP/UPN domain used only to propose MappingCandidates. Leave empty to suppress destination suggestions. (Optional)
  • XLSX workbook path - Use a new absolute Windows .xlsx path. The workbook can contain sensitive organizational inventory and must be protected appropriately. (Required)

Output

Output: XLSX workbook with Summary, Users, Guests, Licenses, Groups, Domains, Mailboxes, Aliases, Teams, TeamOwners, Channels, SharePointSites, OneDrive, MappingCandidates, MigrationRisks, Warnings and Errors sheets.

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

Builds a local multi-sheet XLSX migration assessment workbook that correlates Entra ID, licensing, Exchange Online, Microsoft Teams, SharePoint Online and OneDrive inventory while preserving partial workload failures.

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

Before you run: Install the documented modules, sign in with read-only administrative access, and use a new XLSX output path. Protect the workbook because it can contain users, aliases, group, mailbox, Teams and SharePoint inventory.

Opselith quality checks

  • Included in the current Opselith PowerShell quality suite
  • 17 deterministic workbook sheets
  • Workload failures preserved in Warnings/Errors sheets
  • No macros
  • Tenant text neutralized against accidental formula execution
  • Workbook re-open verification
  • No deep SharePoint content crawl