AdminDroid is a top Office 365 management software that provides over 1800 pre-built reports with the ability to delegate administrative tasks at a granular level, advanced alerts for critical activities, and AI charts for data-driven decision making. Its user-friendly UI and rich capabilities make it a go-to choice for many admins.

However, we understand that not everyone can fully utilize the potential of AdminDroid. Some organizations may have restrictions on using third-party tools, while others may be limited by the free version of AdminDroid, which offers access to only 125+ free Azure AD reports on users, licenses, group membership, user sign-ins, password changes, manager reports, etc. If you find yourself in this situation and are looking for a solution to generate comprehensive Microsoft 365 reports, this blog is here to help as an alternative to AdminDroid.

PowerShell Scripts for Microsoft 365 Reports:

AdminDroid diligently creates scripts with utmost precision, and all of them are hosted in the AdminDroid Community GitHub repository. Currently, there are 65 scripts available, and the collection continues to grow. These scripts are open source, allowing you to further extend their functionality to suit your specific needs.

Each script is equipped with advanced capabilities and a few of them are below.

  • No prerequisites are required– Automatically installs required modules like MS Graph, EXO module, Teams PowerShell, etc., if not already available.
  • Real-time use cases– A single script can generate multiple reports to fulfill various requirements.
  • Built-in filters– Allows to get fine-grained reports by passing available filtering params.
  • Scheduling options– Credentials can be passed as a parameter and can be scheduled in the Task scheduler.
  • Support for certificate-based authentication & so on.

We have developed a diverse collection of PowerShell scripts that offer valuable insights into your Microsoft 365 organization. These scripts cover various aspects such as statistical info, auditing user activities, monitoring permission changes, analyzing usage patterns, and more. Below are some of the most frequently used scripts.

License Management (4 scripts)

Inactive User Management (3 scripts)

Azure AD & User Management (10 scripts)

External & Guest User Management (5 scripts)

Group Management (8 scripts)

Mailbox Management (15 scripts)

Email Management (5 scripts)

Microsoft Teams Management (6 scripts)

SharePoint Online Management (3 scripts)

Install Microsoft 365 PowerShell Modules (3 scripts)

Let’s delve deeper into these scripts and unleash the complete power of your Microsoft 365 environment.

1.Office 365 License Report: This report exports a comprehensive list of all licensed users, along with their assigned licenses and service status. It provides valuable insights into license utilization.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 User License Report

2.License Expiry Date Report: This report offers details on all Office 365 subscription plans within your organization. It includes information such as expiry dates, subscription renewal dates, and other relevant details.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/LicenseExpiryDateReport

3.Microsoft 365 License Management and Reporting: This script empowers administrators with a wide range of license management and reporting actions. With over 10 capabilities, admins can easily perform tasks like license assignment and removal using MS Graph PowerShell.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Manage Microsoft 365 Licenses using MS Graph

4.Find Licensed Shared Mailbox Report: This report helps identify shared mailboxes that have been assigned licenses. It allows administrators to track and manage licenses specifically for shared mailboxes.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Shared Mailbox report

5.Mailbox Last Logon Time Report: This report lists all mailboxes and their last login time, allowing you to identify inactive mailboxes that haven’t logged in for a specified period.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 User Last Logon Time Report

6.Microsoft 365 Inactive User Report: This report helps identify inactive Microsoft 365 users by retrieving their last sign-in date and calculating the number of inactive days, leveraging the capabilities of MS Graph to ensure accurate reporting.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Get M365 Inactive User Report

7.Real Last Logon Time Report: This report provides accurate information on users’ last activity time within Exchange Online. It helps identify inactive users more precisely and efficiently.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 User Last Activity Time Report

8.MFA Status Report: This report helps you identify the MFA (Multi-Factor Authentication) status of Office 365 users and export the report to a CSV file for further analysis and monitoring.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 User MFA Status Report

9.Microsoft 365 Users MFA Authentication Methods Report: This script exports detailed information about the Microsoft 365 users’ MFA authentication methods using MS Graph.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Export MFA Status Report using MS Graph

10.Get All Office 365 Email Addresses and Aliases: This script exports all the email addresses and aliases in the organization.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Get All Office 365 Email Addresses

11.Password Changes and Expiry Report: This report lists all users with their last password change time, password expiry date, and other relevant details, aiding in password management and security enforcement.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 Password Expiry Report

12.Admins and Roles Report: This report provides a detailed overview of Office 365 admins and their roles, allowing you to have a comprehensive understanding of administrative access and responsibilities within your organization.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 Admin Report

13.Azure AD Manager Report: This report retrieves Office 365 users and their manager details, helping you identify users without managers and ensure proper organizational hierarchy.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 manager report

14.Azure AD Device Reports: This report provides administrators with visibility into devices used in the Azure AD environment, facilitating device management and monitoring.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Azure AD Devices Report

15.User Logon History: This report tracks the login activities of Office 365 users, enabling you to track login patterns and identify any suspicious or unauthorized logins.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 User Logon History Report

16.User Activity Report: This report focuses on tracking the activity of specific users or administrators within Microsoft 365. It helps detect and investigate any potentially malicious activities.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit Office 365 User Activity Report

17.Get SPO External Users: This report lists all external users in SharePoint Online, providing visibility into the external users associated with your SharePoint sites.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Export SharePoint Online External Users report

18.Guest User Report: This report exports a comprehensive list of Office 365 guest users along with their group memberships. It helps you keep track of guest user access and permissions.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Guest User Report

19.Audit External User File Access: This report tracks file access activities performed by external users in SharePoint Online and OneDrive for Business. It helps to monitor and analyze external user interactions with your organization’s files.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/SharePoint Online External User File Access Report

20.Audit SPO External Sharing: This report audits the files shared with external users in SharePoint Online and OneDrive. It provides insights into the sharing activities and permissions granted to external users.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit Office 365 External Sharing Activity

21.Audit External User Activity: This report helps you track and monitor the activities of external users within your Microsoft 365 environment. It allows you to identify any malicious or unauthorized actions performed by external users.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit External User Activity

22.Office 365 Distribution Group Report: This report provides a comprehensive list of all distribution groups in your organization, along with their members’ details. It helps you manage and track group memberships effectively.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 Distribution Group Members Report

23.DDL Members Report: This report shows all the Dynamic Distribution Groups (DDLs) in your Office 365 environment and their details. It helps in identifying the recipients when an email is sent to a DDL group.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 Dynamic Distribution Group Members Report

24.Office 365 Group and Members Report: This report allows you to export all the Microsoft 365 groups and their membership information to a CSV file. It provides insights into the groups within your organization.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Microsoft 365 Group Report

25.User Membership Report: This report lists all the Office 365 groups that a specific user is a member of. It helps to understand the group affiliations of a particular user.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Export Office 365 Groups a User is Member Of

26.Show All DLs a User Is a Member Of: This report helps you retrieve all the distribution groups that a user belongs to. It enables you to view and analyze the users’ membership details.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Get DLs a User is Member Of

27.Office 365 Group Storage Report: This report retrieves the storage used by Office 365 groups and exports the information to a CSV file. It helps you monitor and manage the storage usage of groups in your organization.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Get Office 365 Groups Storage Size Report

28.Nested Distribution Group Membership: This report allows you to export the members of nested distribution lists using PowerShell. It helps to obtain a comprehensive view of the members within nested distribution groups and their mail distribution details.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Get Nested Distribution List Membership Report

29.Upgrade DLs to M365 Group: This script simplifies the process of converting distribution groups to Microsoft 365 groups in bulk, streamlining group management and enhancing collaboration capabilities.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Convert DL to M365 Groups

30.Mailbox Permission Report: This report lists all mailboxes and their delegates who have ‘Full access,’ ‘Send as,’ and ‘Send on behalf’ permissions. It provides visibility to find users having access to other mailboxes within your organization.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 Mailbox Permissions Report

31.Shared Mailbox Permission Report: This report shows all the shared mailboxes in your Office 365 environment, along with their members and delegates. It helps you manage, and track permissions associated with shared mailboxes.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 Shared Mailbox Permission Report

32.List All Mailboxes a User Has Access: This report provides a list of all mailboxes that a specific user has access to, including details of ‘Full access’, ‘Send as’, and ‘Send on behalf’ permissions. It helps to identify the mailboxes a user can manage or access on behalf of others.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/List%20Mailboxes%20Users%20Can%20Access

33.Mailbox Permission Changes: This script monitors and logs changes in mailbox delegation permissions, providing an audit trail of permission updates.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit Mailbox Permission Changes

34.Non-Owner Mailbox Access Report: This report helps detect instances where users access other users’ mailboxes. It provides information on who accessed the mailbox and when the access occurred.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 Non-owner Mailbox Access Report

35.Mailbox Size Report: This report displays all the mailboxes in your Office 365 environment and their corresponding storage size. It allows to monitor mailbox sizes and identify potential storage issues.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Mailbox Size Report

36.Archive Mailbox Size Report: This report helps you find archive mailboxes and provides information about their online archive size. It assists in managing mailbox storage and identifying mailboxes with large archive sizes.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Archive Mailbox Size Report

37.Email Forwarding Configuration Report: This report lists mailboxes with auto email forwarding configuration to other mailboxes. It helps you identify email forwarding settings and take necessary actions if needed.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Office 365 Email Forwarding Report

38.Inbox Rules with External Forwarding Configuration: This report identifies inbox rules of all mailboxes that forward emails to external users. It helps you ensure compliance and security by monitoring external forwarding activities.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Find Inbox Rules that Forwards Email Externally

39.Mailbox Hold Report: This report exports mailboxes and their hold status, such as litigation hold, in-place hold, retention hold, etc. It helps you track and manage mailbox holds for compliance and eDiscovery purposes.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Export Mailbox Hold Details

40.Auto-Reply Configuration Report: This report helps identify users with Out of Office (OOF) settings and provides details such as the scheduled period for auto-replies. It assists in managing user availability and communication during users’ absence.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Get Mailbox Auto Reply Configuration Report

41.Export Non-audited Mailbox Actions: This report helps to identify mailbox operations that are not currently configured for auditing. It helps to enable non-audited actions based on the organization’s compliance requirements.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Export Non-audited Mailbox Actions

42.Calendar Permission Report: This report exports six different Office 365 calendar permission reports to CSV. It provides insights into calendar permissions and helps you manage and track access to calendars within your organization.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Get Calendar Permission Report

43.Shared Mailboxes Report: This report contains a comprehensive list of shared mailboxes in Exchange Online, including details such as storage size, license status, and primary SMTP address.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Shared Mailbox report

44.Room Mailbox Usage Report: This report offers valuable insights into meeting room usage, including a list of meetings held and their attendees’ details, enabling efficient scheduling and utilization of meeting spaces.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Room Mailbox Usage report

45.Mail Traffic Report: This report exports the count of emails sent and received by users in your Exchange Online environment. It provides insights into email communication patterns and helps you track email traffic.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Mail Traffic Report

46.Spam and Malware Report: This report provides details of sent and received spam and malware emails in your Exchange Online environment. It helps you identify and manage email security threats.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Mail Protection Report

47.Audit Email Deletion: This report helps you find email deletions and provides information on when and by whom emails were deleted, whether from their own mailbox or a delegated mailbox. It helps in tracking and investigating unusual email deletion activities.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit Email Deletion in Office 365

48.Audit Emails Sent Using SendAs Permission: This report tracks emails sent using the ‘SendAs’ permission from a delegated mailbox. It helps you monitor and audit email activities performed by delegated users.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit Send As emails

49.Add External Email Warning Message: This script enables you to enhance email security by easily adding warning messages to emails received from external users. This helps users exercise caution and be mindful of potential risks associated with external emails.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/External Warning Rule for External Emails

50.Find Who Sent Emails from Shared Mailbox: This report audits and identifies who sent which email from a shared mailbox in your Microsoft 365 organization. It helps you track and monitor email activities in shared mailboxes.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Find who Sent Emails from Shared Mailboxes

51.Microsoft Teams Reports: This report generates a comprehensive set of reports for Microsoft Teams, including information on all teams, channels, team members, channel members and owners, private channels, and more. These reports provide insights into the structure and membership of your Teams environment.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Microsoft Teams Reports

52.Private Channel Management and Reporting: This script helps to manage and generate reports on private channels. It offers valuable insights into private channel membership details and allows for easy addition or removal of members as needed.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Microsoft Teams-Private Channel Management

53.Shared Channel Members Report: This report provides insights into the list of shared channels, including details of their members, facilitating effective collaboration and team management.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Export Shared channel members report

54.Find Orphaned Teams: This report assists in identifying teams without owners. It helps you ensure proper ownership and management of Teams by identifying teams that may require attention.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Find Orphaned Teams

55.Audit Teams Membership Changes: This script helps in monitoring members and owners’ changes in Microsoft Teams, including teams, private channels, and shared channels, ensuring visibility into membership modifications.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit MS Teams Membership Changes

56.Audit Microsoft Teams Meetings: This script exports a detailed list of all Teams meetings and their participants to a CSV file. It allows you to track and analyze meeting activities within your Teams environment.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit Teams meetings

58.Audit File Deletions in SharePoint: This script tracks file deletion activities in SharePoint Online and OneDrive. The report provides information on when and by whom files were deleted, helping you monitor and manage file integrity and security.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit File Deletion

59.Audit SharePoint Group Membership Changes: This PowerShell script enables tracking of changes in group membership within SharePoint Online, ensuring visibility into any modifications made.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Audit SPO Group Membership Changes

60.Connect to Exchange Online PowerShell: This script simplifies the process of installing the Exchange Online PowerShell module and establishing a connection to Exchange Online. It enables you to manage Exchange Online settings and configurations efficiently.
Script download: https://github.com/admindroid-community/powershell-scripts/blob/master/Install and Connect to EXO

61.Connect to All Office 365 Services: The script helps you streamline the connection process to multiple Office 365 services, including Azure AD, Exchange Online, SharePoint Online, Microsoft Teams, and the Security & Compliance Center. This allows you to manage and administer various aspects of your Microsoft 365 environment seamlessly.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Connect to All Office 365 Services PowerShell Script

62.Connect MS Graph with Certificate: This script makes the process of Azure app registration simpler, allowing administrators to seamlessly register applications and establish a secure connection to MS Graph PowerShell using a certificate. This approach enhances security and enables the execution of unattended scripts with ease.
Script download: https://github.com/admindroid-community/powershell-scripts/tree/master/Connect MS Graph with Certificate-Automate Azure app registration

I hope you find these scripts as a viable alternative to AdminDroid Office 365 Reporter for effectively managing and monitoring your organization.