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)
- Office 365 Users and their Assigned License Details
- License Expiry Report
- Microsoft 365 License Management & Reporting
- Find Licensed Shared Mailboxes
Inactive User Management (3 scripts)
Azure AD & User Management (10 scripts)
- MFA Status Report
- Microsoft 365 Users’ MFA Authentication Methods Report
- Get All Office 365 Email Addresses and Aliases
- Password Changes and Expiry Report
- Admin and Roles Report
- Manager Report
- Azure AD Device Reports
- User Logon History Report
- User Activity Report
External & Guest User Management (5 scripts)
- Get SPO External Users
- Guest User Report
- Audit External User File Access Report
- Audit SPO External Sharing
- Audit External User Activity
Group Management (8 scripts)
- Office 365 Distribution Group Report
- DDL Members Report
- Office 365 Group and Members Report
- User Membership Report
- Show All DLs a User Is a Member Of
- Office 365 Group Storage Report
- Nested Distribution Group Membership
- Upgrade DLs to M365 Group
Mailbox Management (15 scripts)
- Mailbox Permission Report
- Shared Mailbox Permission Report
- List All Mailboxes a User Has Access
- Mailbox Permission Changes
- Non-Owner Mailbox Access Report
- Mailbox Size Report
- Archive Mailbox Size Report
- Email Forwarding Configuration Report
- Inbox Rules with External Forwarding Configuration
- Mailbox Hold Report
- Auto-Reply Configuration Report
- Export Non-audited Mailbox Actions
- Calendar Permission Report
- Shared Mailboxes Report
- Room Mailbox Usage Report
Email Management (5 scripts)
- Mail Traffic Report
- Spam and Malware Report
- Audit Email Deletion
- Audit Emails Sent Using SendAs Permission
- Find Who Sent Emails from Shared Mailbox
- Add External Email Warning Message
Microsoft Teams Management (6 scripts)
- Microsoft Teams and Members Reports
- Private Channel Management & Reporting
- Shared Channel Members Report
- Find Orphaned Teams
- Audit Teams Membership Changes
- Audit Microsoft Teams Meetings
SharePoint Online Management (3 scripts)
- Audit Anonymous Link Creation and Access
- Audit File Deletions in SharePoint
- Audit SharePoint Group Membership Changes
Install Microsoft 365 PowerShell Modules (3 scripts)
- Connect to Exchange Online PowerShell
- Install Multiple Office 365 Services
- Connect MS Graph with Certificate
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
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
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
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
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
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.