skip to Main Content

Disable MFA Office 365 with PowerShell

We need to disable MFA for Office 365 users because they want to use another vendor for MFA. What is the fastest and safest way to disable Office 365 MFA? In this article, you will learn how to disable MFA Office 365 for all users and one user with PowerShell.


Why do you need to disable MFA Office 365? A couple of reasons are:

Disabling MFA will not erase the settings that the users configured.

For example, the users have MFA set up on their authentication app. You disabled MFA for the users. The next time they sign in will be without MFA. When you re-enable MFA for the users, they can authenticate with their authentication app or phone number without going through the whole setup.

Before you start

Start Windows PowerShell and connect to Azure AD PowerShell.

PS C:\> Connect-MsolService

Disable MFA Office 365 for one user

Disable MFA for a single Office 365 user.

PS C:\> Get-MsolUser -UserPrincipalName "" | Set-MsolUser -StrongAuthenticationRequirements @()

Disable MFA Office 365 for all users

Disable MFA for all Office 365 users.

PS C:\> Get-MsolUser -All | Set-MsolUser -StrongAuthenticationRequirements @()

Verify your work

Do you like to verify that MFA for the users is successfully disabled? An excellent way is to export Office 365 users MFA status report with PowerShell.

Disable MFA Office 365 with PowerShell

That’s it!

Important: Always use MFA to protect the accounts from attacks and compromised passwords. It adds another layer of protection that helps organizations.

Read more: Enable modern authentication in Office 365 admin center »


In this article, you learned how to disable MFA Office 365 with PowerShell. Connect to Azure AD with PowerShell and run the command to disable MFA for all Office 365 users or single user. Don’t forget always to use MFA. In this case, it’s another MFA vendor.

Did you enjoy this article? You may also like Get Active Directory count with PowerShell. Don’t forget to follow us and share this article.



ALI TAJRAN is a passionate IT Architect, IT Consultant, and Microsoft Certified Trainer. He started Information Technology at a very young age, and his goal is to teach and inspire others. Read more »

This Post Has 3 Comments

  1. Does not work as stated…

    Get-Process : A positional parameter cannot be found that accepts argument ‘Connect-MsolService’.
    At line:1 char:1
    + PS C:\> Connect-MsolService
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Process], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.GetProcessCommand

    1. You did start Windows PowerShell/PowerShell ISE and run the command:

      PS C:\> Connect-MsolService

      It will not work, and that’s why you get this error.

      You need to fill in:


      Don’t forget to install the module MSOnline, as shown in the article. Otherwise, you can’t connect and get an error.

    2. Below is the correct syntax…

      Get-MsolUser -UserPrincipalName user-name | Set-MsolUser -StrongAuthenticationRequirements @()

Leave a Reply

Your email address will not be published. Required fields are marked *