Now, Microsoft Teams Meeting Can be Audited Through Teams Audit Log
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 and left time.
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 see who attended a Teams 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.
Audit 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.
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.