Seamlessly Migrate SharePoint to SharePoint Online: An SMB Guide with SPMT

For many Small to Medium-sized Businesses (SMBs) in Montreal and beyond, an on-premises SharePoint Server has been a reliable workhorse for collaboration. However, the modern demands of remote work, enhanced security, and seamless integration with other Microsoft 365 services increasingly highlight the need for a transition. Migrating SharePoint to SharePoint Online unlocks unparalleled benefits: reduced infrastructure overhead, always-on security updates, advanced collaboration features, and integration with Teams, OneDrive, and Power Platform. This comprehensive guide from SkyCore Solutions will walk you through the authoritative process to migrate SharePoint to SharePoint Online using Microsoft's free and robust SharePoint Migration Tool (SPMT), ensuring a smooth, secure, and efficient cloud migration for your organization.
Prerequisites
- Microsoft 365 Licensing: An active Microsoft 365 subscription (e.g., Microsoft 365 Business Basic, Standard, Premium, or Enterprise SKUs) that includes SharePoint Online. Microsoft 365 Business Premium is highly recommended for SMBs due to its comprehensive security features.
- Administrative Permissions:
- Source (On-premises SharePoint): SharePoint Server account credentials with Read access to all content you plan to migrate.
- Destination (SharePoint Online): A Microsoft 365 account with Global Administrator, SharePoint Administrator, or the new dedicated Migration Administrator role.
- Workflow Migration (if applicable): If migrating SharePoint Server workflows to Power Automate, the account must also be a Power Automate admin with the Environment Maker role.
- Tools:
- SharePoint Migration Tool (SPMT) installed on a suitable client machine.
- SharePoint Migration Assessment Tool (SMAT) for initial analysis.
- PowerShell 7.x (or Windows PowerShell 5.1) for scripting (optional, but recommended for advanced scenarios).
- Stable internet connection with sufficient bandwidth.
- Estimated Cost: The SPMT and SMAT are free tools from Microsoft. The primary costs will be your Microsoft 365 subscription and any potential third-party consulting fees for complex migrations.
Step 1: Initial Assessment with SharePoint Migration Assessment Tool (SMAT)
Before embarking on any migration, a thorough assessment of your existing SharePoint Server environment is critical. The SharePoint Migration Assessment Tool (SMAT) is a command-line utility designed to scan your on-premises SharePoint Server farm (2013 and later) for potential issues that could hinder a successful migration to SharePoint Online. This proactive step helps identify unsupported features, customization complexities, and potential data integrity concerns, allowing you to plan remediation efforts effectively.
While the specific command-line execution details for SMAT are obtained upon download, the process involves running the tool against your SharePoint farm. Download SMAT from the official Microsoft Learn site, extract the files, and execute the main executable from your command prompt.
# Example (conceptual) - specific execution details are provided upon SMAT download
# Navigate to the extracted SMAT directory
# cd C:\SMAT
# Run the SMAT executable (replace with actual executable name if different)
# .\SMAT.exe
# Follow on-screen prompts or consult SMAT documentation for parameters.
- SMAT.exe: The executable for the SharePoint Migration Assessment Tool.
- Output Reports: SMAT generates detailed reports in a local directory, typically listing potential issues, unsupported features, and guidance for resolution.
Portal alternative: SMAT is primarily a command-line tool designed for thorough, automated farm analysis. There is no direct portal alternative for this level of deep on-premises assessment.
Run this to verify: Review the generated SMAT reports. These reports are crucial for understanding the scope of your migration and identifying any necessary pre-migration cleanup or remediation tasks.
Step 2: Install and Prepare the SharePoint Migration Tool (SPMT)
The SharePoint Migration Tool (SPMT) is your primary utility for moving content from your on-premises SharePoint Server directly to SharePoint Online, OneDrive, and even Microsoft Teams. It's a free, easy-to-use client application from Microsoft. SPMT supports migration from SharePoint Server 2010, 2013, 2016, and 2019, as well as SharePoint Foundation 2010 and 2013. Ensure the machine running SPMT has network access to both your on-premises SharePoint Server and your Microsoft 365 tenant.
To get started, download the SPMT installer from the official Microsoft Learn page. Run the installer and follow the on-screen prompts to complete the installation. While SPMT offers PowerShell support for scripting and automation, the provided documentation focuses on the GUI experience. For SMBs, the intuitive graphical interface often provides the most straightforward path.
# SPMT installation is typically a GUI-driven process from a downloaded executable.
# Download the SPMT from: https://learn.microsoft.com/en-us/sharepointmigration/introducing-the-sharepoint-migration-tool
# Execute the installer: .\SPMTSetup.exe # (Example name, actual name may vary)
- SPMTSetup.exe: The executable file for installing the SharePoint Migration Tool.
- System Requirements: Ensure the machine meets the minimum requirements for SPMT (e.g., .NET Framework, sufficient disk space).
Portal alternative: SPMT is a client-side application; there is no direct portal installation. Once installed, SPMT connects to your SharePoint Online environment through the Microsoft 365 admin center for task management if using Migration Manager.
Run this to verify: Launch the SharePoint Migration Tool application. You should see the welcome screen prompting you to sign in to Microsoft 365.
Step 3: Prepare Your SharePoint Online Environment and User Mappings
Before migrating data, ensure your target SharePoint Online environment is ready. This includes creating necessary site collections, sites, and libraries, as well as confirming user accounts exist in Microsoft 365. Critically, you'll need to map your on-premises SharePoint users to their corresponding Microsoft 365 user accounts. This ensures correct ownership, permissions, and metadata are preserved during migration. SPMT allows you to provide a user-mapping file, typically in CSV format, to automate this process.
For SMBs, manually creating a user mapping CSV file is often the most practical approach for preserving user permissions and metadata. This file should contain a list of your source users and their corresponding target Microsoft 365 email addresses.
# Example of a user mapping CSV file (UserMapping.csv)
# SourceUser,TargetUser
# domain\jdoe,john.doe@skycoresolutions.onmicrosoft.com
# domain\asmith,alice.smith@skycoresolutions.onmicrosoft.com
# domain\marketing_team_group,marketingteam@skycoresolutions.onmicrosoft.com # Mapped to a Microsoft 365 Group
- SourceUser: The user principal name or domain\username from your on-premises SharePoint.
- TargetUser: The corresponding user principal name (UPN) or email address in Microsoft 365.
- CSV Format: A simple, comma-separated values file is recommended for SMBs for ease of creation and editing.
Portal alternative: While you can manually create sites and manage users in the Microsoft 365 admin center or SharePoint admin center, creating a user mapping file is best handled outside the portal for bulk efficiency, typically using a text editor or spreadsheet software.
Run this to verify: Review your `UserMapping.csv` file for accuracy. Ensure all active on-premises users and groups are mapped to existing Microsoft 365 identities. Test a few accounts to confirm they resolve correctly in your M365 tenant.
Step 4: Configure and Scan SharePoint Workflows for Migration (if applicable)
SharePoint Server workflows require special attention. Microsoft recommends migrating classic SharePoint Server workflows to Power Automate flows. The SPMT can assist in migrating SharePoint Server 2010 out-of-the-box (OOTB) workflows (like Approval, Collect Feedback, Three-state) and SharePoint Designer 2010/2013 workflows to Power Automate. SPMT migrates workflow definitions and associations, but not historical data.
Before migrating, SPMT allows for a workflow scan to generate a report, providing an inventory of your workflows and aiding in planning. To initiate a workflow scan, you'll use the SPMT graphical interface.
# While SPMT has PowerShell support, the direct command for workflow scanning isn't provided in the source documentation.
# For SMBs, use the guided GUI workflow within SPMT for scanning.
# Steps are:
# 1. Launch SPMT and sign in.
# 2. Select "SharePoint Server" as your source.
# 3. Enter your SharePoint Server URL.
# 4. On the "Choose your settings" page, select "Only perform scanning" for workflows.
# 5. Follow the prompts to configure the workflow scan.
- Only perform scanning: A critical option within SPMT to generate reports without initiating a migration.
- Workflow Prerequisites: Ensure the migration account has Power Automate admin and Environment Maker roles in Microsoft 365, plus Read access to source workflows.
Portal alternative: The workflow scan is a feature integrated directly into the SPMT client application. Post-migration, Power Automate flows can be managed and activated within the Power Automate portal (flow.microsoft.com).
Run this to verify: Review the generated workflow scan reports. These will detail which workflows are eligible for migration and any potential issues or recommendations for conversion to Power Automate.
Step 5: Define Migration Tasks Using SPMT (or JSON/CSV)
With your environment assessed and SPMT installed, the next step is to define the specific content you wish to migrate. SPMT allows you to create migration tasks directly within its user interface, or by providing structured input files like CSV or JSON. For SMBs with a moderate number of sites or libraries, a well-structured CSV file can streamline the process, especially when planning to migrate in phases.
A migration task definition file (e.g., a CSV) specifies the source path on your on-premises SharePoint Server and the corresponding destination path in SharePoint Online. This approach allows you to batch migrate multiple sites, document libraries, or lists efficiently.
# Example of a migration task CSV file (MigrationTasks.csv)
# SourcePath,TargetPath,MigrationType
# http://sharepoint.skycore.local/sites/hr,https://skycoresolutions.sharepoint.com/sites/HR,Site
# http://sharepoint.skycore.local/sites/projects/doclib1,https://skycoresolutions.sharepoint.com/sites/Projects/Shared Documents,DocumentLibrary
# http://sharepoint.skycore.local/lists/contacts,https://skycoresolutions.sharepoint.com/sites/Sales/Lists/Contacts,List
- SourcePath: The full URL to the site, library, or list on your on-premises SharePoint Server.
- TargetPath: The full URL to the target site, library, or list in SharePoint Online.
- MigrationType: Specifies whether you're migrating a 'Site', 'DocumentLibrary', or 'List'.
- CSV/JSON: SPMT supports both formats for defining migration tasks. CSV is often simpler for SMBs.
Portal alternative: While SPMT itself doesn't live in the portal, within the SPMT application, you can manually add individual tasks by clicking "Add a new migration" and specifying source and destination paths through its wizard-driven interface.
Run this to verify: Open your `MigrationTasks.csv` or review your manually added migration tasks within the SPMT GUI. Ensure all paths are accurate and that the migration type is correctly specified for each entry.
Step 6: Execute the Data Migration with SPMT
With your migration tasks defined, it's time to initiate the data transfer. SPMT will connect to your source SharePoint Server, retrieve the specified content, and upload it to your SharePoint Online tenant. The speed of your migration can vary based on factors such as internet bandwidth, data volume, file size distribution, and the performance of both your source and destination environments. Microsoft's SharePoint and OneDrive migration speed article provides insights into optimizing performance.
While SPMT offers PowerShell support for running migration tasks, specific cmdlets are not detailed within the provided public documentation. For most SMBs, executing the migration directly through the SPMT graphical interface offers the clearest progress monitoring and control.
# SPMT execution, particularly for SMBs, is typically initiated through the GUI.
# Steps are:
# 1. In SPMT, after defining your migration tasks (either via CSV import or manually).
# 2. Review the tasks and settings (e.g., user mapping file, preservation of permissions).
# 3. Click "Migrate" or "Start migration" to begin the process.
# Monitoring is provided directly within the SPMT interface.
- Start Migration: The action within SPMT to commence the data transfer.
- Migration Settings: Options to preserve file versions, metadata, permissions, and specific filters for what content to include or exclude.
Portal alternative: The Microsoft 365 Migration Manager, accessible from the SharePoint admin center, can act as a central hub for managing migrations, especially for file shares, Google Drive, and other sources. While it integrates SPMT functionality for SharePoint Server, direct execution and detailed monitoring for SPMT is done within the client application.
Run this to verify: Monitor the progress within the SPMT application. Upon completion, review the migration reports generated by SPMT. These reports provide a detailed breakdown of migrated items, skipped items, and any errors encountered.
Step 7: Migrate and Activate Workflows (If Applicable)
If you identified and migrated workflows in Step 4, their definitions and associations have been copied to your SharePoint Online environment. However, these workflows are not active by default in Power Automate. The final step for workflow migration is to sign in to Power Automate and activate them. This often involves reviewing the migrated flows, ensuring connections are correctly configured, and then turning them on.
# Workflow activation happens in the Power Automate portal, not directly via PowerShell/CLI from the SPMT process.
# Steps are:
# 1. Sign in to Power Automate (flow.microsoft.com) with an account that has Power Automate admin and Environment Maker roles.
# 2. Navigate to "My flows" or the relevant solution containing your migrated workflows.
# 3. Review each migrated workflow definition.
# 4. Ensure all connections (e.g., to SharePoint, Outlook) are properly authenticated.
# 5. Turn on each flow to activate it.
- Power Automate Portal: The web interface (flow.microsoft.com) for managing all your Power Automate flows.
- Connections: Verify and re-authenticate any necessary connections within your flows.
Portal alternative: This entire step is performed within the Power Automate portal, which is a key component of the Microsoft 365 ecosystem. There is no alternative command-line interface for activating flows post-migration.
Run this to verify: Thoroughly test your migrated and activated workflows. Ensure they trigger correctly, perform their intended actions, and complete without errors in your SharePoint Online environment.
Step 8: Post-Migration Validation, Modernization, and User Adoption
A successful migration doesn't end when the data transfer completes. Comprehensive post-migration validation is crucial to ensure data integrity, correct permissions, and full functionality in SharePoint Online. Additionally, consider leveraging SharePoint Online's modern capabilities and planning for user adoption to maximize your investment.
- Data Integrity: Spot-check critical documents and lists to ensure all content, versions, and metadata have migrated correctly.
- Permissions: Verify that user and group permissions are applied as intended in SharePoint Online.
- Classic Page Transformation: If you migrated classic SharePoint Server pages, consider transforming them into modern SharePoint Online pages to take advantage of new features and improved user experience. Tools and guidance are available on Microsoft Learn for this.
- Known Folder Move & OneDrive Sync: Encourage users to utilize the OneDrive sync app, especially for "Known Folders" (Desktop, Documents, Pictures), to keep local files synchronized with OneDrive/SharePoint Online.
- User Training: Provide training to your team on the new SharePoint Online interface, features, and best practices for collaboration. Highlight the benefits of the cloud environment.
- Decommission On-Premises: Once fully validated and users are transitioned, plan the decommissioning of your old SharePoint Server.
# No direct CLI commands for this conceptual step, but PowerShell can be used for:
# - Verifying SPO site permissions: Get-SPOSiteGroup, Get-SPOUser
# - Checking list item counts (for validation): Get-PnPListItem
# - Initiating page transformation scripts (advanced): PnP PowerShell cmdlets
- PnP PowerShell: The SharePoint PnP PowerShell module provides cmdlets for managing SharePoint Online, including page transformation and content validation.
Portal alternative: Most validation and modernization efforts can be managed through the SharePoint admin center, site settings, and directly on the SharePoint Online sites. User training is typically a hands-on or webinar-based activity.
Run this to verify: Conduct user acceptance testing (UAT). Gather feedback from key users and address any issues promptly. A successful UAT indicates readiness for full production use.
When to bring in a consultant
While the SharePoint Migration Tool simplifies much of the migration process, certain scenarios benefit significantly from expert assistance. SkyCore Solutions specializes in complex cloud migrations for SMBs. Consider engaging a consultant if your environment includes:
- Extensive custom SharePoint solutions or third-party integrations.
- Large volumes of data (terabytes) or a very high number of items/files.
- Hybrid environments with complex Active Directory synchronization requirements.
- Advanced security or compliance mandates that require meticulous configuration.
- A need for minimal downtime during business-critical migrations.
- Desire for a complete "Infrastructure Revamp" alongside your migration, integrating SharePoint Online seamlessly into a broader Microsoft 365 strategy.
