Thanks to Sean : Identify What Tenant Teams Meetings Are From – Sean McAvinue
$ClientID = "xxxxxxxxx"
$TenantID = "xxxxxxxxx"
$CertificateThumbprint ="xxxxxxxx"
Connect-MgGraph -ClientID $ClientID -TenantId $TenantID -CertificateThumbprint $CertificateThumbprint
##Show User list
$User = get-mguser -All | Out-GridView -PassThru
##Get all future calendar items in the users mailbox
[array]$CalendarItems = Get-MgUserEvent -UserId $User.Id -All | ?{[datetime]$_.Start.DateTime -gt (Get-Date) -or $_.Recurrence.Range.EndDate -gt (Get-Date) -or $_.Recurrence.Range.Type -eq "NoEnd"}
##Get the Teams Meeting Items
[array]$TeamsMeetings = $calendarItems | ?{$_.Body.Content -like "*https://teams.microsoft.com/l/meetup-join*"}
##Extract the meeting options URL from the body content
foreach($meeting in $TeamsMeetings){
##Remove everything before the URL
$htmlContent = $meeting.Body.Content.ToString()
# Try double-encoded pattern first (Tid%2522%253a%2522GUID%2522)
$MeetingTenantID = [regex]::Match($htmlContent, 'Tid%2522%253a%2522([0-9a-f-]{36})%2522').Groups[1].Value
if (-not $MeetingTenantID) {
# Try single-encoded pattern (Tid%22%3a%22GUID%22)
$MeetingTenantID = [regex]::Match($htmlContent, 'Tid%22%3a%22([0-9a-f-]{36})%22').Groups[1].Value
}
if (-not $MeetingTenantID) {
# Try plain text parameter (tenantId=GUID)
$MeetingTenantID = [regex]::Match($htmlContent, 'tenantId=([0-9a-f-]{36})').Groups[1].Value
}
$TenantDetails = (Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/tenantRelationships/findTenantInformationByTenantId(tenantId='$MeetingTenantID')")
$Meeting | Add-Member -MemberType NoteProperty -Name TenantDetails -Value $TenantDetails.tenantId -Force
$Meeting | Add-Member -MemberType NoteProperty -Name TenantDomainName -Value $TenantDetails.defaultDomainName -Force
$Meeting | Add-Member -MemberType NoteProperty -Name TenantDisplayName -Value $TenantDetails.displayName -Force
$Meeting | Add-Member -MemberType NoteProperty -Name HTMLMeeting -Value $htmlContent -Force
$meeting | export-csv c:\temp\$($User.UserPrincipalName)_TeamsMeetings.csv -NoTypeInformation -Append
}