Prevent users from switching and migrating to new Outlook using PowerShell and Microsoft Intune

Introduction

The new Outlook transitioned from preview to general availability (GA) in August 2024. If you’re using Microsoft 365 apps for Enterprise (formerly known as Microsoft Office) on the current channel, you might be automatically switched from the classic Outlook to the new Outlook starting January 2025, unless you take action now!

I’m already leveraging some comprehensive PowerShell scripts to manage parts of the registry within our environment, so it didn’t take long for me to add the necessary registry keys and values to:

  1. Remove the toggle to switch to the new Outlook.
  2. Prevent future automatic migration to the new Outlook.

In this post, I’ll share the PowerShell script I’m using to prevent users from migrating to the new Outlook if your environment isn’t quite ready for it. If the script seem too complex for your needs, let this post serve as both inspiration and a reminder about the new Outlook.

PowerShell

You can find the script in my GitHub repository here: Proactive-Remediations/Detect-Remediate-Disable-Prevent-New-Outlook.ps1 at main · imabdk/Proactive-Remediations

The script is designed to run as SYSTEM, modifying the registry for the logged-on user.

The script accepts 2 parameters: -runDetection and -runRemediation.

-runDetection

This part of the script checks if the defined registry keys and values are configured as desired. If discrepancies are found, the script will exit with error code 1, instructing Intune to initiate the remediation script.

-runRemediation

This part of the script performs the remediation, ensuring that the defined registry keys and values are configured correctly. It also verifies the registry configuration and exits with code 0 to signal success.

Microsoft Intune

Put the script to use in Microsoft Intune’s Script and remediations (formerly known as Proactive Remediations) feature.

NOTE: Take note of the importance of configuring the detection script to have $runRemediation set to $false, as well as the Remediation script to have $runRemediation set to $true:

More information

2 thoughts on “Prevent users from switching and migrating to new Outlook using PowerShell and Microsoft Intune”

  1. Hi Martin.

    There is a configuration setting in Intune under “Microsoft Office 2016” -> “Outlook Options > Other” -> “Admin-Controlled Migration to New Outlook (User)” that can be set to disabled and that has this infotext:

    This policy controls the ability of IT admins to initiate the migration of users from classic Outlook to new Outlook. If you enable this policy setting, IT admins will start the process to switch users from classic Outlook to new Outlook. If you disable this policy setting, the migration process to new Outlook will be stopped, keeping users on their current version of Outlook without transitioning to new Outlook. If you do not set this policy setting, the migration process to new Outlook will not start, and users that have not migrated will remain on classic Outlook. Note: IT admins can also define intervals for re-initiating the migration process for users who revert to classic Outlook from new Outlook. This is managed through the NewOutlookAutoMigrationRetryIntervals policy, offering a tailored strategy for transitioning users based on organizational requirements and user feedback.

    How does that differ from your Powershell script – I assume that setting the above setting to disabled should also prevent the migration?

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.