PowerShell is the tool you need to list all inbox rules of all users in your environment. In this blog post I will show how to connect to Exchange Online to afterwards retrieve all outlook inbox rules created by the user. Let’s dive in.
Connect to Microsoft 365 / Exchange Online
First we need to connect to our tenant. Run the commands below to open a PowerShell session to your Microsoft cloud.
Install-Module -Name ExchangeOnlineManagement -Force -AllowClobber Connect-ExchangeOnline -UserPrincipalName user@domain.com -ShowProgress $true
Fine. Let’s move on.
List Inbox Rules from all users
We are now ready to get a list of all rules created by the user. Run the command below to get them all.
Get-ExoMailbox -ResultSize Unlimited |
Select-Object -ExpandProperty UserPrincipalName |
Foreach-Object {Get-InboxRule -Mailbox $_ |
Select-Object -Property MailboxOwnerID,Name,Enabled,From,Description,RedirectTo,ForwardTo}
Here they are (Rules in German):

See you next time with PowerShell!
Categories: Microsoft 365, PowerShell




Hi Patrick,
Many Thanks for your Script.
It was very helpful for me.
How to get inbox rules set by all users in organization
LikeLike
Excellent, thank you!
LikeLiked by 1 person
hello to everyone
how i can to save the results in atxt file or an html or csv ??
useful script !!
LikeLike
Use Out-File. Best
LikeLike
Hi Patrick,
Many Thanks for your Script.
It was very helpful for me.
How can I select or read the “ForwardingSMTPAddress” or the external destination email address of the user inbox rules.
Thanky and best wishes
Patan
LikeLiked by 1 person
Thank you. Here you go: https://sid-500.com/2020/09/08/office-365-list-all-outlook-inbox-rules-created-by-the-user/
LikeLike