Forum Discussion
Teams Migration for New Private Channels Stalls
Microsoft began an automated background process to move Teams private channels to a new infrastructure earlier this year. Tenants should check the state of the migration as reported by the Get-TenantPrivateChannelMigrationStatus cmdlet because it is possible that the migration is stalled and waiting for administrator intervention. In most cases, the problem is because of ownerless channels, but archived teams with private channels also stop the migration.
https://office365itpros.com/2026/05/11/private-channel-migration-stalls/
7 Replies
- Forrest_HSteel Contributor
How do we kick off the Migration Process for a retry after we have fixed the Ownerless Channels?
I added an Owner a few days ago and the status is reporting the same as it was'MigrationStatus : RequiresAdminAttention
LastChecked :
Details : {"totalChannels":320,"migratedChannels":318,"failedChannels":0,"ownerlessChannels":1,"re
mainingChannels":1,"ownerlessChannelsDetails":[{"channelThreadId":"19:55543bbd8cc745e6bd
fe8d453404b268@thread.skype","teamId":"0a1c1ea6-906d-4ed6-ae66-184cf0d97e2d"}]}
MigrationStartTimeStamp : 2/9/2026 11:26:42 PM
What is the "remainingChannels" and how do I fix that? Unless the remaining is the Ownerless, in which case the Total doesn't add up.
In the article, I describe that I found my one "remainingchannel" to be a private channel belonging to an archived team. You can use the script referenced in the article to scan private channels to see if something else comes up.
As to restarting the migration, it's a black box and you'll have to wait for the migration job to retry. That process is managed by the Teams development group.
- Forrest_HSteel Contributor
Thanks Tony. I had to remove the -ResultSize 5000 from the Get-Team array filler. PowerShell complained about not being able to find a matching parameter.
Further along I got another error "Get-TeamAllChannel:
Line |
4 | … [array]$Channels = Get-TeamAllChannel -GroupId $Team.GroupId -Member …
| ~~~~~~~~~~~~~
| Cannot bind argument to parameter 'GroupId' because it is null."
I'll keep trying to figure out what's going on.