Understanding the new Teams Capabilities in the SharePoint Migration Tool

The SharePoint Migration Tool is a capable product included in your Office 365 subscription and it is available as a free download. It sits alongside several other Microsoft offerings, including Migration Manager and Mover. All three tools offer migration from file shares to SharePoint and OneDrive. Whereas Migration Manager and Mover are aimed squarely at file-based migrations, such as moving people’s home directories to OneDrive, the SharePoint Migration Tool is designed to migrate from both File Servers and SharePoint Server, and now includes Microsoft Teams as a target destination.

If you use the SharePoint Migration Tool, you could be forgiven for assuming it’s quite a simple product aimed at drag-and-drop style migrations. The interface is designed to be easy to use, but for advanced users, a full set of PowerShell based capabilities exist, and the SharePoint Migration API is the same one used by most third-party tools, meaning the migration speeds are roughly aligned with the market-leading tools.

The new Teams migration functionality is aimed at the casual IT administrator who is looking for a simpler approach to moving files for access by Teams users. Effectively, it’s a wrapper for the SharePoint migration functionality designed to make sure you can map file data to the SharePoint folder structure created by Microsoft Teams. The new functionality does not offer any sort of chat-based migration.

To see this functionality in action and explore the limitations of the new Teams functionality, we’ll approach the simple use-case that the new features are designed for.

As a starting point, we’ll take a file share that’s been re-organized prior to migration to match the core channel structure in Teams. This is the Finance file share, which has an equivalent Team consisting of a variety of standard channels, and private channels, to reflect the permissions structure needed by the department. You will see the padlock icon in the example below representing the private channels:

Image #1 Expand
1 2
Figure 1: Mappings between a file share and Teams channels (image credit: Steve Goodman)

As all files in Teams live in SharePoint, this means there’s a corresponding folder structure that the SharePoint Migration Tool will in effect be migrating data to.

For the standard channels, this will be a document library with sub-folders named after each channel, which are created after a user first accesses the Files tab in a Team:

Image #2 Expand
2 2
Figure 2: Mappings between standard channels and a file share represented in SharePoint (image credit: Steve Goodman)

You may notice that folders do not exist for each private channel. That is because each private channel has it’s own SharePoint Site Collection, named after the Team and private channel:

Image #3 Expand
3 2
Figure 3: File share to private channel mappings in SharePoint (image credit: Steve Goodman)

Using the SharePoint Migration Tool’s new functionality, we can migrate data to standard channels, but for private channels, we’ll have to use the existing SharePoint migration functionality.

To show the process to migrate, we’ll begin the migration of our Finance file share. To perform this process, we’ll need to add several sources and targets, corresponding to each folder and channel pair.

After installing the new version of the SharePoint Migration Tool, we’ll launch the tool, and choose File Share as the first source, then add the full UNC path to the file share, including the folder corresponding to the first standard channel we wish to migrate:

Image #4 Expand
4 1
Figure 4: Choosing a File Share migration in the SPMT (image credit: Steve Goodman)

Next, we’ll create a mapping to the corresponding Teams channel, by choosing Teams, then selecting the Team and standard channel from the drop-down. In this first example, we’re mapping the General folder to the General channel. You’ll also notice that no private channels are displayed.

Image #5 Expand
5 1
Figure 5: Choosing the destination Teams and standard channel (image credit: Steve Goodman)

We’ll repeat that process for every standard channel until all are added as file share to Teams channel migrations.

Image #6 Expand
Figure 6: Reviewing the list of migration jobs and adding a new source (image credit: Steve Goodman)

Next, we’ll need to add each private channel for migration. You’ll immediately see the value in the new Teams migration functionality here, as the process is slightly convoluted in comparison. First, we’ll need to get the SharePoint URL for the Teams private channel.

To do this, follow these steps:

  • Navigate to the private channel
  • Select the Files tab
  • Choose “Copy Link”
  • From the Get Link dialogue, choose “SharePoint”
  • Choose “Copy”
Image #7 Expand
Figure 7: A simple way to discover the SharePoint URL for private channel files (image credit: Steve Goodman)

Back within the SharePoint Migration tool, add another File Share source for the corresponding folder mapping to the private channel, then choose SharePoint as the destination.

Then, paste in the copied URL in the destination address. It will automatically translate the URL the SharePoint site and location:

Image #8 Expand
Figure 8: Creating a new SharePoint migration job and entering the private channel URL (image credit: Steve Goodman)

After repeating this process for each private channel, both the standard channel mappings created using the new Teams functionality, and the private channel mappings performed using the SharePoint migration will be listed, and the migration can begin.

Upon selecting appropriate settings, the migration will perform jobs in parallel to improve throughput, logging appropriate information for examination later on:

Image #9 Expand
Figure 9: Reviewing the migration jobs and beginning the migration (image credit: Steve Goodman)

Examining the Files tab for each channel in Teams also shows the file data appears as expected:

Image #10 Expand
Figure 10: Private channel data migrated from on-premises file servers (image credit: Steve Goodman)

The new Teams migration functionality in the SharePoint Migration Tool doesn’t give the tool capabilities it didn’t possess before; but it makes life easier for simple migrations by exposing the Teams structure and channels, guiding you to the right result.

It’s a pity though that it doesn’t support private channels yet, as the underlying structure of private channel SharePoint sites is already difficult to discover and manage outside of Teams.

For simple file share migrations performed on an ad-hoc basis, use this new functionality to make life easier.