How to find out what Tenant Teams Meetings are from After Migration

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

}

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...