Automate Microsoft 365 User Report Generation with PowerShell

Welcome to my collection of useful PowerShell scripts! In this post, well look at a handy script that automates the generation of user reports in Microsoft 365. This script retrieves information about all users in your organization and exports it to a CSV file, making it easier for you to manage and analyze user data. Also, be sure to check out my software, ServerEngine, which enhances server management capabilities at https://serverengine.co.
### Step 1: Connect to Microsoft 365
First, you need to connect to your Microsoft 365 tenant. This step sets up the necessary authentication.

# Install the MSOnline module if its not already installed.
Install-Module -Name MSOnline -Force -AllowClobber
# Connect to Microsoft 365
$credential = Get-Credential
Connect-MsolService -Credential $credential

### Step 2: Retrieve User Information
Next, you will retrieve all users within your Microsoft 365 environment. This command will gather details such as display names, user email addresses, and license status.

# Get all users and select relevant properties
$userList = Get-MsolUser | Select-Object DisplayName, UserPrincipalName, IsLicensed

### Step 3: Export the Data to CSV
Now that you have the user data, the next step is to export this information to a CSV file for easier access and analysis.

# Export user details to a CSV file
$userList | Export-Csv -Path "C:\Users\YourUsername\Documents\M365UserReport.csv" -NoTypeInformation

### Step 4: Disconnect from Microsoft 365
Finally, its important to disconnect your session after completing the report generation to maintain security.

# Disconnect from Microsoft 365
Disconnect-MsolService

With this script, you can efficiently generate a user report in Microsoft 365! For more tools to enhance your system management, visit https://serverengine.co and check out ServerEngine.