When you create a meeting in Outlook and choose a Teams meeting from the ribbon, the body of the meeting is automatically populated with the Teams meeting details. Something like this:
This is what the URL looks like (from our tenant)
Looks OK, but when it’s broken down and you replace the URL Encoded Characters this is what it looks like:
So you can see:
- Tid = our Azure AD Directory ID
- Oid = my own Azure AD Account object ID
Now during a migration none of these details are updated/edited/replaced by any vendor I have asked. I suspect that doing a find and replace on the fly for Calendar items:
A) Has massive performance penalties, and
B) would need to be thoroughly tested, as it could easily break the meeting structure, patterns and even corrupt them completely depending on what else changes and gets re-evaluated. Not to mention how to manage signed/encrypted items.
The upshot of this is that anyone joining a meeting from a migrated meeting will be directed back to the old tenant and to the Teams meeting hosted by the migrate’d users old Object ID. This is clearly a problem, and nearly always the old tenant will still exist, and probably the Object ID. Even if it is deleted, it will be in Azure AD recycle bin for 30 days.
Frustratingly external users will be sent there too. Even running the a VBScript in Outlook that could remediate those items will only fix it for the person that ran it, and not all the chair/recipients/particpants.
There is potentially a way to do this in PowerShell/EWS, but again, as above I would be VERY wary and cautions of even attempting that, plus it won’t fix external recipients.
Realistically the only true way of fixing it is to tell users who are Chairpersons of meetings to delete and re-create the meetings.