Forum Discussion
Teams Migration for New Private Channels Stalls
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_HMay 13, 2026Steel 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.
- TonyRedmondMay 13, 2026MVP
Are there any objects in the $Teams array? There should be after Get-Team runs (the error with ResultsSize was a bug that I fixed days ago, so I am not sure why you see it still). Each team has a groupId property, and the loop uses that property to find the channels. Check $Teams[0].GroupId and it should return a group id.
- Forrest_HMay 14, 2026Steel Contributor
I got the script from your linked GitHub referenced on your other page. The -ResultSize is not on the repo page now, problem solved.
I think the script worked even after throwing error as I got a CSV with about 2900 rows.
I reviewed all the rows but not sure how I'm supposed to use the data to find the "remainingChannels" or what Team it is associated with. The "ownerless" was Identified in the cmdlet and has been fixed.
BTW, Kudos for raising awareness of this sneaky change from MS that could cause people to lose data unknowingly. The June 5'th Deletion date is approaching.