M365_Groups_Enum : Enumerate Microsoft 365 Groups In A Tenant With Their Metadata

M365_Groups_Enum is the all_groups.py script allows to enumerate all Microsoft 365 Groups in a Azure AD tenant with their metadata:

  • name
  • visibility: public or private
  • description
  • email address
  • owners
  • members
  • Teams enabled?
  • SharePoint URL (e.g. for Teams shared files)

All of this, even for private Groups! Read more about this on my blog article “Risks of Microsoft Teams and Microsoft 365 Groups”

The reporting.py script will take the JSON output from all_groups.py and generates a CSV files allowing to quickly identify sensitive private or public groups.

Installation

Requirement: 

  • Download the repository
  • Install requirements with

pip install -r requirements.txt

Usage

You will need a valid account on the tenant. Different authentication methods are supported:

  • via login + password (MFA not supported)

python all_groups.py -u myuser@example.onmicrosoft.com -p MyPassw0rd

  • via device authentication, which supports MFA via the browser. Launch then follow instructions

python all_groups.py –device-code

Other methods are also offered. You can read the ROADTools documentation or run the script without any argument to get help.

python all_groups.py

That’s all, you don’t need more options! The script output will be in all_groups.json in the current directory.

Then, if you want a nicer and more concise output from this JSON, use reporting.py to transform it:

python reporting.py

It automatically takes all_groups.json in the current directory, and outputs to all_groups.csv in the same directory.

R K

Recent Posts

Comments in Bash Scripts

What Are Bash Comments? In Bash scripting, comments are notes in your code that the…

26 minutes ago

Shebang (#!) in Bash Script

When you write a Bash script in Linux, you want it to run correctly every…

20 hours ago

Bash String Concatenation – Bash Scripting

Introduction If you’re new to Bash scripting, one of the first skills you’ll need is…

1 day ago

Learn Bash Scripting: How to Create and Run Shell Scripts for Beginners

What is Bash Scripting? Bash scripting allows you to save multiple Linux commands in a file and…

2 days ago

Bash if…else Statement – Bash Scripting

When it comes to automating tasks on Linux, Bash scripting is an essential skill for both beginners…

2 days ago

Bash Functions Explained: Syntax, Examples, and Best Practices

Learn how to create and use Bash functions with this complete tutorial. Includes syntax, arguments,…

4 days ago