Forum Discussion
Teams Migration for New Private Channels Stalls
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.
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.- TonyRedmondMay 14, 2026MVP
Have you any archived teams? That's where I found my "remaining" private channel.
Maybe filter teams to check just those that are archived to see if any private channels are there. Replace Get-Team by Get-Team -Archived $true and the script will find just archived teams.