logo
search
Others

How to Bulk Update Microsoft 365 Job Titles using PowerShell

Khadija KhanKhadija Khan Oct 23, 2026 868 views

Question details

The user needs to update the job titles of multiple Microsoft 365 accounts simultaneously using a PowerShell script and a CSV file.

How to Bulk Update Microsoft 365 Job Titles with PowerShell
Product
Microsoft 365
Device & OS
not provided
Scenario
A Microsoft 365 administrator needs to manage and update user profiles in bulk rather than editing each account manually via the admin portal.
Observed behavior
The goal is to apply new job titles mapped from a CSV file (containing UserPrincipalName and Title) to the respective Microsoft 365 user accounts using PowerShell cmdlets.
Before you start

Ensure you have Global Administrator or User Management Administrator privileges in your Microsoft 365 tenant. Prepare a CSV file containing 'UserPrincipalName' and 'Title' columns with the correct updated information.

Solution 1Recommended

Bulk Update Job Titles via PowerShell and CSV

Use a CSV file along with the MSOnline and ExchangeOnlineManagement modules to quickly push job title updates to multiple users in your tenant.

This method utilizes traditional Microsoft 365 PowerShell modules. You will need to prepare a formatted CSV file and run a script to iterate through the data.

1
Prepare your CSV file

Create a CSV file named 'JobTitles.csv' with two column headers exactly named 'UserPrincipalName' and 'Title'. Fill in the respective email addresses and new job titles, then save the file.

2
Install necessary PowerShell modules

Open PowerShell as an Administrator and run 'Install-Module -Name ExchangeOnlineManagement' followed by 'Install-Module MSOnline'. Accept any prompts to install from the PSGallery.

3
Connect to Microsoft 365 services

Run 'Connect-ExchangeOnline' and 'Connect-MsolService' in the PowerShell console. Sign in using your Microsoft 365 administrator credentials when prompted.

4
Run the bulk update script

Execute the following script to import the CSV and apply the changes: Import-Csv -Path 'C:\path\to\JobTitles.csv' | ForEach-Object { Set-MsolUser -UserPrincipalName $_.UserPrincipalName -Title $_.Title }

5
Verify the updates

Log in to the Microsoft 365 Admin Center, navigate to 'Users' > 'Active users', and check the user profiles to confirm the job titles have been updated successfully.

Bulk Update Job Titles via PowerShell and CSV
Module Deprecation: The MSOnline module is being deprecated by Microsoft. For future-proofing your administration scripts, consider transitioning to the Microsoft Graph PowerShell SDK using the Update-MgUser cmdlet.
Free Microsoft Office alternative

Manage Administrative CSV Files Easily with WPS Office

Preparing accurate CSV files for your PowerShell scripts is seamless with WPS Spreadsheet. As a highly compatible alternative to Microsoft Office, WPS Office lets you manage your bulk data and administration files for free without heavy subscription costs.

Fully compatible with Microsoft Excel CSV and XLSX formats, ensuring safe data parsing for PowerShell.Free and lightweight suite including Writer, Spreadsheet, and Presentation.Familiar user interface with zero learning curve for seamless migration from Microsoft Office.Built-in advanced tools for data cleanup, formatting, and quick exporting without data loss.
microsoft office alternative - wps office

Frequently Asked Questions

Can I use Microsoft Graph PowerShell instead of MSOnline to update job titles?

Yes, it is highly recommended to use the Microsoft Graph PowerShell module as Microsoft is deprecating MSOnline. You can use the 'Update-MgUser' cmdlet inside your loop to achieve the same bulk update functionality.

What format should my CSV file be in for the PowerShell script?

Your CSV file should be a standard comma-separated values file with strict headers. For the provided script, ensure you use 'UserPrincipalName' for the user's email address and 'Title' for the new job title.

Why am I getting access denied errors when running Set-MsolUser?

This error usually occurs if the account you used to sign in with 'Connect-MsolService' does not have the necessary User Management Administrator or Global Administrator roles assigned in your Microsoft 365 tenant.

How long does it take for the job title updates to appear in Microsoft Teams?

While changes in the Microsoft 365 Admin Center are almost immediate, it can take anywhere from a few hours to 24 hours for the updated job titles to fully sync and display in Microsoft Teams and Outlook client address books.