Updated 1 month ago

Export Microsoft Teams Private Channel Membership Reports using PowerShell

by Shan

8 min read

No Comments

Private channels in Microsoft Teams have revolutionized collaboration by providing focused spaces for specific projects without the need to create separate teams. These secure spaces allow subsets of team members to discuss sensitive topics like budgets and strategic positioning. However, the inclusion of guest members in private channels introduces a potential challenge, as it can lead to inadvertent leaks of confidential information.

Maintaining a delicate balance between seamless collaboration and safeguarding sensitive data underscores the importance of monitoring private channels and their membership in Microsoft Teams. In this blog, we’ll explore the native methods for acquiring Private channel details in MS Teams. However, our commitment to simplifying private channel reporting doesn’t stop there – we’ve crafted a PowerShell script and outlined how you can maximize its potential to streamline your Microsoft Teams private channel reporting process.

How to See Private Channels in Microsoft Teams?

Discovering private channels in Microsoft Teams can be accomplished through two main methods: the Microsoft Teams admin center or PowerShell. Here’s a breakdown of both approaches:

View Private Channels in Microsoft Teams Admin Center

  1. Log in to your Microsoft Teams admin center using your credentials.
  2. Find and select the “Teams” option, then locate and click on “Manage teams.”
  3. Choose the specific team you want to monitor for private channels.
  4. Within the selected team, navigate to the “Channels” tab to view all channels associated with that team.
  5. Use the filter option (three lines) to selectively display private channels within the designated team by applying the “Type = Private” condition.

This method is tedious for managing multiple teams, as you need to repeat the process for each team.

Find Private Channels in MS Teams using PowerShell

You can find private channels in MS Teams using the “Get-TeamChannel” PowerShell cmdlet.

While this single cmdlet efficiently retrieves private channels for a specific team, managing multiple teams requires additional steps. Filtering the results according to your specific requirements can also pose challenges.

This is where our PowerShell script, “MSTeamsPrivateChannelReports.ps1,” proves invaluable. The script empowers you to generate seven distinct reports, including details on private channel members, guests, owners, teams, etc. By using this script, you gain the flexibility to customize results according to your preferences, making the entire process more efficient and user-friendly.

Script Highlights

  • This single script empowers you to generate 7 MS Teams Private channel reports effortlessly.
  • The script can be executed with MFA-enabled accounts.
  • It exports results conveniently to CSV format.
  • Additionally, it automatically installs the Microsoft Teams PowerShell module upon your confirmation.
  • The script is scheduler-friendly, allowing credentials to be passed as parameters instead of saving them within the script.
  • Furthermore, it supports certificate-based authentication for enhanced security during the authentication process.

How to Execute ‘Private Channel Membership Report Script’?

  1. Download the provided PowerShell script and open it in Windows PowerShell.
  2. Execute the script using one of the following methods:

Method 1: You can execute the script with MFA and non-MFA accounts.

Export Teams Private Channel reports


Method 2:
Execute the script with the required action and explicit credentials (Scheduler-friendly) for an unattended approach.

You can schedule the PowerShell script using Task Scheduler with the given code. However, it currently supports non-MFA accounts. If the admin account utilizes multi-factor authentication, you can disable MFA through the Conditional Access policy for the successful execution of the scheduled script.


Method 3:
For an unattended approach, you can execute the script using certificate-based authentication (Scheduler-friendly) with the required action.

To implement this authentication method, initially register an app in Azure AD and connect to Microsoft Graph PowerShell with a certificate. Depending on your preference, you can use a Certificate Authority (CA) or a self-signed certificate in this process.

Private Channel Membership Report Script – Detailed Execution Methods

This single PowerShell script enables you to generate the following seven MS Teams Private channel and membership reports.

  1. Get all private channels in MS Teams
  2. List private channels in specific team
  3. Export all private channels with owners and members
  4. Get private channel members of specific team
  5. Export private channels’ owners report
  6. Find all guests in private channels in MS Teams
  7. Export all teams with private channels

1. Get All Private Channels in MS Teams

Any team member or owner can create channels by default in Microsoft Teams. However, there’s a catch – the MS Teams allows a maximum of 30 private channels for the entire team. This means that if team members go on a channel creation spree, they might quickly exhaust the allocated space for essential channels.

To prevent such scenarios, admins need to actively monitor and restrict private channel creations in MS Teams. By executing the provided code or running the script with the specified action, admins can effortlessly obtain a comprehensive list of all private channels in the organization.

The report exports all MS Teams private channels, including details like Teams name, channel name, owners count, guest count, and total members count. Auditing private channel creations enables admins to stay informed and manage private channels effectively, deleting unnecessary ones to optimize organizational space.

Sample Output:

Get all private channels in MS Teams

2. List Private Channels in Specific Team

As a team owner, obtaining a list of all private channels in your specific team can be essential. Finding it through the Teams admin center can be labor-intensive and might not offer clear insights into private channels within your team.

Thus, execute the script with the specified action or use the code below to effortlessly export details about specific private channels, including team name, channel name, description, owners count, and total members count.

Sample Output:

Export channels in a specific team

3. Export Private Channel Membership Report

Admins play a vital role in maintaining security and compliance in Microsoft Teams. By monitoring and adjusting memberships, admins ensure that only authorized users access sensitive information, preventing potential breaches. Use the script below to export all private channels with owners and members, reinforcing security measures efficiently:

This exported private channel membership report allows administrators to quickly review member profiles and audit changes in private channel memberships, enhancing overall security and compliance efforts.

Sample Output:

Private channel membership reports

4. Get Private Channel Membership Report of a Specific Team

Monitoring private channel members in a specific team is crucial for various reasons. For instance, tracking users help identify individuals who may need additional training or support to enhance their effectiveness in team collaboration. Additionally, it ensures that the correct members are assigned to the appropriate private channels, promoting efficient communication and collaboration within the team.

Therefore, run the provided script to export private channel membership report of a specific team.

This private channel membership report provides details such as channel name, member name, member mail, role, and team name, offering valuable insights for comprehensive collaboration oversight and increased productivity. By continuously monitoring this membership report, administrators can add or remove users to private channels for effective MS Teams user management.

Sample Output:

Get Private Channel Members of Specific Team

5. Get All Owners of a Private Channel in MS Teams

While team owners have visibility into these channels, their inability to control channel memberships and settings poses a significant security risk for potential data exposure. Consequently, it becomes imperative to identify the owners of private channels, who are pivotal for communication, support, and updates within these channels.

It empowers team owners with the necessary control and oversight to manage ownership and leadership effectively within private channels. Therefore, run the script below to find all the owners of private channels in Microsoft Teams.

The exported private channel ownership report conveniently lists team and channel names along with owner details.

Sample Output:

Private channel membership reports listing all owners

6. List All MS Teams Private Channels with Guests

Securing sensitive data within a collaborative workspace is crucial to prevent inadvertent leaks or unauthorized access. Imagine a scenario where a team member creates a private channel and shares confidential information with external guests, either intentionally or unintentionally.

The consequences of such actions can be disastrous, ranging from data breaches to compromised organizational security. To counter this threat, it’s crucial to maintain visibility into all Microsoft Teams private channels guest access regularly.

Run the provided code to retrieve details such as teams name, channel name, guest name, and guest email addresses for all private channels with guests.

This proactive monitoring enables teams to promptly take the necessary precautions.

Sample Output:

Export All Teams with Microsoft Teams Private Channels

7. Export All Teams with Private Channels in Microsoft Teams

Native methods allow retrieving private channels within specific teams but do not offer a comprehensive overview of Teams containing private channels. This limitation can be particularly challenging for expansive organizations managing numerous teams. Execute the provided script to obtain and manage all Teams with private channels.

The exported report lists all Teams with private channels, including details on private channel count and names. This information is crucial for navigating the complexities of large organizations where locating specific Teams with private channels is a critical need.

Sample Output:

 Export All Teams with Private Channels in Microsoft Teams

So far, we’ve delved into the intricacies of exporting private channel reports using PowerShell. If navigating PowerShell seems a bit daunting or if you’re a newcomer to its intricacies, fret not – we’ve got a solution tailored just for you!

Introducing AdminDroid Microsoft 365 Reporter, a user-friendly alternative that provides a straightforward way to generate comprehensive reports on Microsoft Teams. Say goodbye to scripting complexities and embrace an intuitive reporting experience with AdminDroid.

Streamline MS Teams Private Channel Reporting with AdminDroid Reports!

AdminDroid’s Microsoft Teams reporting tool empowers administrators with a wealth of detailed reports tailored for in-depth monitoring and reporting, particularly focusing on private channels. The private channel reports cover,

  • Existing and Recently Created Private Channels
  • Private Channel Owners
  • Private Channel Members
  • Teams with Private Channels
  • External Members/Guests in Private Channels
  • External Member Count

Such deep analytics assist in safe and secure private channel management.

AdminDroid private channels membership report

This versatile tool not only covers private channels but also offers exclusive insights into various aspects of MS Teams functionality. AdminDroid offers a robust suite of over 70 detailed reports covering Teams membership, meetings, usage statistics, inactive users, devices, settings, permissions, and more.

Additionally, you can audit Team activities like team login activities, file access, membership changes, external sharing, and other crucial metrics. AdminDroid provides a holistic approach to Teams reporting, ensuring efficient and thorough Microsoft Teams management.

AdminDroid membership dashboard

Uncover the power of AdminDroid, a specialized solution crafted to address the unique challenges encountered by IT administrators. Featuring a robust library of over 1800+ comprehensive reports 📊 and 30+ visually appealing dashboards, AdminDroid provides extensive coverage across various services such as Exchange Online, Microsoft Teams, OneDrive, SharePoint Online, Power BI, Stream, and Viva Engage.

AdminDroid introduces impressive features that will surely captivate you:

  • AdminDroid Alerting: Stay on top of crucial updates and notifications of your organization with the Microsoft 365 alerting feature.
  • Quick Scheduling: Save time and streamline your workflow by easily scheduling tasks and reports with advanced capabilities.
  • Granular Access Delegation: Enhance security and control by granular access delegation, ensuring the right people have the right permissions.
  • Advanced Customization Filters: Tailor your reports to meet specific needs with advanced customization filters, providing a personalized and detailed view.

Experience the unparalleled power of Microsoft 365 reporting by downloading AdminDroid now. Don’t miss out on the 15-day trial opportunity for an amazing hands-on experience!


In conclusion, exporting Microsoft Teams private channel membership reports emerges as a crucial tool for admins engaged in effective
private channel management, offering in-depth insights into team dynamics. With the ability to track and analyze the members within each private channel, administrators can enhance security measures, streamline communication, and ensure compliance with organizational policies.

We hope this blog simplifies exporting private channel membership reports in MS Teams. Feel free to reach us through the comments section for any further assistance or inquiries.

Share article