Recently, Microsoft introduced the long-awaited ability to audit Microsoft Teams meetings through Audit Log Search. Earlier, admins had to perform eDiscovery searches to track Microsoft Teams meetings. With the new feature, admins can easily track meeting activities to help organizations with compliance obligation, internal investigation, and security events.
How to Audit Teams Meetings?
You can audit Teams meetings either through audit log search or PowerShell. Let’s see the meeting activities tracked by Microsoft 365 audit log.
- MeetingDetail – Shows information about meetings, including the start time, end time, and the URL to join the meeting.
- MeetingParticipantDetail – Shows added information about the participants in the meeting, along with their meeting joined time, left time, and meeting device usage.
You can filter the above operations from the Audit section in Microsoft 365 compliance center to get the Teams meeting audit reports.
How to Audit Teams Meetings through PowerShell:
Most admins prefer PowerShell due to its speed, automation, and capabilities. So, we have included the method to monitor Teams meetings through PowerShell too. By using Search-UnifiedAuditLog cmdlet, you can get Teams meetings and their participant list.
It is good to have a way to audit Teams meeting through PowerShell. However, it has a few downsides, as pointed below.
- The cmdlet provides audit data as JSON objects, which need to be parsed for further information.
- Participants’ names are shown as Object ID instead of UPN, which is difficult to understand.
To overcome these difficulties, we have created a PowerShell script to audit Microsoft Teams meetings and see who attended a meetings. The ‘Team meeting attendance report‘ will show participants’ names and the audit data in a user-friendly manner. Additionally, the script generates ‘Teams meetings audit report’ to get detailed information on Teams meetings.
Download Script: AuditTeamsMeetings.ps1
Script Highlights:
- The script uses modern authentication to connect to Exchange Online.
- The script can be executed with MFA enabled account too.
- Exports report results to CSV file.
- Allows you to generate a Teams meetings audit log.
- Exports Teams meeting attendance report.
- Helps to generate reports for custom periods.
- Automatically installs the EXO V2 and AzureAD module (if not installed already) upon your confirmation.
- The script is scheduler-friendly. I.e., Credential can be passed as a parameter instead of saving inside the script.
How to Execute ‘Audit Teams Meetings’ PowerShell Script:
You can choose any one of the below methods based on your requirement.
To run this script, you can choose any one of the methods below.
Method 1: Execute the script with an MFA account
1 |
.\AuditTeamsMeetings.ps1 |
Method 2: Execute the script using a non-MFA account
1 |
.\AuditTeamsMeetings.ps1 -NoMFA |
Method 3: Execute the script by explicitly mentioning credentials (Scheduler-friendly).
To schedule the script in the Windows Task Scheduler, you can follow the below format,
1 |
.\AuditTeamsMeetings.ps1 -UserName Admin@contoso.com -Password XXX -NoMFA |
If the admin account has MFA, then you need to disable MFA using the Conditional Access policy to use them in scheduling.
Method 4: Generate Teams meeting auditing report for a custom period.
By default, the script generates a report for the past 90 days. If needed, you can use the -StartDate and -EndDate parameters to retrieve meeting details for a custom period.
1 |
.\AuditTeamsMeetings.ps1 -StartDate 08/10/23 -EndDate 08/20/23 |
The above format will retrieve Teams meeting details that occurred from August 10, 2023, to August 20, 2023. Also, if you want to get a user-specific Teams meeting report for a custom period, you can check out the blog on finding Teams meetings attended by a specific user.
Audit Microsoft Teams Meetings – Sample Output:
The script designed to provide 2 Output files, one with detailed teams meeting report and another with Teams meetings’ participants list.
Teams Meeting Report:
Teams meeting report provides following information.
- Meeting ID
- Created By
- Meeting Type (I.e., AdHoc meeting/scheduled meeting/channel meeting, etc.)
- Meeting Link/Meeting URL
- Start Time
- End Time
Get Teams Meeting Participant Report:
Meeting organizer can download the attendance report after meeting. Now, admins who are not an organizer also can view the participant list after meeting.
Our Teams meeting attendees report contains following attributes,
- Meeting ID
- Created By
- Participant List
- Type of Participant (i.e., Member, Guest or Anonymous user)
- Meeting Joined Time
- Meeting Left Time
By referring to this report, admins can see who attended the Team meeting along with their meeting joined and left time. Added to that meeting info, you can also check the Teams meeting call quality using PowerShell. This will help you troubleshoot audio, network, and other issues that occurred during the meetings. By identifying these issues, you can rectify them for future calls.
Get More Detailed Teams Meeting Audit Logs with AdminDroid
Are you struggling to keep track of PowerShell-generated Teams meeting attendance reports periodically? Look no further! AdminDroid Teams auditing tool can simplify the process with real-time monitoring and reporting on team meeting activities. With customizable reporting options and insightful graphical charts, AdminDroid can help you stay on top of your team’s meeting activities with ease.
Let’s delve into the team meeting reports offered by AdminDroid Microsoft Teams reporter in detail.
- Retrieve Users’ Overall Daily Meeting Activities – Helps in identifying how frequently users are participating in meetings through Microsoft Teams.
- Get Users’ Daily Meeting Durations in Microsoft Teams – Allows to check how users are spending time in team meetings and keep track of their productivity.
- Track Meeting Statistics of the Teams Users – Shows a consolidated view of the team meetings attended/organized by an individual user based on meeting types.
- Monitor Meeting Duration Statistics of Users – Provides the total duration spent by users in meetings over a specific period.
Make Managing Your Microsoft Teams a Breeze!
In addition to the above, AdminDroid provides dedicated reports on Teams inactive users based on the last meeting activity by analyzing the user meeting history. You can quickly identify the users who need attention to improve their collaboration in team meetings using the insights below.
- Find Teams inactive users based on the last attended meeting time.
- Identify the inactive users based on the last organized meeting.
- Get all the inactive users based on the last calling activity.
With the user-friendly environment, AdminDroid provides a clear-cut dashboard and 100+ handy reports on Teams and user activities. So, you need not rely on the difficult PowerShell scripts to automate and generate reports for the Microsoft Teams management activities.
To add an extra cube of sugar, AdminDroid is cost-efficient and user-friendly tool that eases your Office 365 reporting and auditing by offering more useful features.
Last but not least, our free Azure AD Reporting and Auditing tool offers 120+ free Azure AD reports that help to manage the users, licenses & passwords, groups and their memberships in your organization. You can execute the basic customization, scheduling and exporting reports and efficiently manage your Azure AD environment totally for free!
I hope this blog will help you to find meeting audit logs and their participants list. If you have any queries or requirements, reach us through comment section.