All Posts
Microsoft 365 1 View 10 min read

How to Configure the Password Expiration Policy in Microsoft 365

Last Updated July 24, 2026

The password expiration policy in Microsoft 365 dictates whether user passwords expire after a set number of days or remain valid indefinitely. In managed environments, aligning this setting with modern security frameworks (like NIST and Microsoft’s own guidance) is a necessary step to reduce user friction and mitigate the risks of predictable password rotations.

With the Microsoft 365 admin center, you can initialize this configuration centrally from the Org settings module. This guide walks through verifying and modifying the password expiration policy for your tenant.

Why Configure Password Expiration?

Controlling the password lifecycle at the tenant level helps with:

  1. Modern security alignment: Microsoft and NIST strongly recommend setting passwords to never expire, as forced arbitrary rotations often lead users to choose weaker, incrementally guessable passwords.
  2. Reduced helpdesk overhead: Eliminating 90-day expiration cycles drastically reduces the volume of password reset tickets and locked-out account scenarios.
  3. Legacy compliance: If your specific industry regulations still mandate periodic password changes, this setting allows you to enforce a strict expiration threshold (e.g., 60 or 90 days) across the entire directory.

Important: Microsoft’s Latest Guidance (2026)

Microsoft’s current security research strongly indicates that forced password changes are more harmful than beneficial, as they drive users to create weak, predictable passwords or write them down. The recommended setting for cloud-only accounts is for passwords to never expire. Microsoft’s latest guidance explicitly discourages password expiration policies for cloud-only accounts.

The Default Setting Varies by Tenant Age

The default password expiration policy in Microsoft 365 varies depending on when your tenant was created:

Tenant AgeDefault SettingWhat This Means
Created after 2021Passwords set to never expire by defaultYou likely don’t need to change anything.
Created before 202190-day expiration may be enabledYou may need to manually adjust the setting.

Most Microsoft 365 Business Premium tenants were created after 2021, so the “never expire” setting is likely already active.

Password Expiration Notifications Are Gone

Microsoft no longer supports password expiration notifications in the Microsoft 365 admin center or in Microsoft 365 productivity apps (Outlook, Word, Excel, etc.). This is a permanent change.

If you choose to enforce password expiration, users will not receive any warning before their password expires. Without notifications, users may only discover their password has expired when they are suddenly locked out, leading to frustrated helpdesk calls. This is one of the primary reasons Microsoft now recommends the “never expire” setting.

Before You Begin: Cloud-Only Users Only

This configuration applies exclusively to cloud-only user accounts.

If your organization uses Microsoft Entra Connect to synchronize users from an on-premises Active Directory, password expiration is controlled by your local Group Policy, not Microsoft 365. Attempting to change this for synced users in the cloud will be overwritten by your on-premises domain controllers.

What You’ll Configure

You will access the Microsoft 365 admin center to navigate to the organizational settings and modify the Security & privacy configuration for passwords.

To perform this action, your account must hold the User Administrator or Global Administrator role. This is a foundational directory feature and is available across all commercial licensing tiers; it requires no premium add-ons and works with basic subscriptions like Microsoft 365 Business Basic, Standard, Premium, and Enterprise plans.

Step 1: Access the Org Settings

  1. Navigate to the Microsoft 365 admin center and log in with an account that has User Administrator or Global Administrator rights.
  2. On the left navigation pane, expand Settings (click “Show all” if needed) and click Org settings. (Note: If you don’t see the “Org settings” option, your admin account does not have the required permissions.)
  3. Click on the Security & privacy tab at the top of the interface.

Step 2: Modify the Expiration Policy

  1. Select Password expiration policy from the list of available settings.
  2. To follow modern security best practices, check the box for Set passwords to never expire (recommended).
  3. If your organization requires rotation (e.g., for regulatory compliance), uncheck the box and specify:
    • Days before passwords expire: Choose a number between 14 and 730 days.
    • Days before a user is notified about expiration: This setting is ignored. Microsoft has removed expiration notifications. Users will receive no warning before their password expires.
  4. Click Save to apply the configuration.

Step 3: Verify the Policy via PowerShell

Note: The tenant-level policy applies to all cloud-only users. The following verification checks whether the “never expire” flag is set on individual accounts.

  1. Open PowerShell 7.x or Windows PowerShell.
  2. Install the Microsoft Graph module (if not already installed) by running:
PowerShell
Install-Module Microsoft.Graph -Scope CurrentUser
  1. Connect to your tenant with the necessary read permissions:
PowerShell
   Connect-MgGraph -Scopes "User.Read.All"

A browser window will open. Sign in with your administrator account and consent to the permissions.

  1. Run the following consolidated script to check password policies. You can uncomment the specific line you need:
PowerShell
# To check a SPECIFIC user's password expiration status:

Get-MgUser -UserId "user@yourdomain.com" -Property UserPrincipalName, PasswordPolicies | Select-Object UserPrincipalName, @{Name="PasswordNeverExpires";Expression={$_.PasswordPolicies -match "DisablePasswordExpiration"}}

# To check ALL users in your tenant:

Get-MgUser -All -Property UserPrincipalName, PasswordPolicies | Select-Object UserPrincipalName, @{Name="PasswordNeverExpires";Expression={$_.PasswordPolicies -match "DisablePasswordExpiration"}}

Important PowerShell Note: If the PasswordNeverExpires column shows False and the PasswordPolicies field is completely blank, do not be alarmed. In Microsoft Graph, this property only populates when an explicit override (like DisablePasswordExpiration) is applied to the individual user object. A blank value actually indicates the user is successfully following the default tenant policy (which should be the “never expire” setting if you configured it above).

Step 4: Verify the Policy with a Test User

After saving the policy, test with a cloud-only user account:

  1. Have the test user sign out of all Microsoft 365 services.
  2. Wait at least 15–30 minutes for the policy to propagate across all Microsoft 365 services.
  3. Have the test user sign back in. If the policy is set to “never expire”, they should not receive any password expiration warnings.
  4. If the policy is set to expire after a certain number of days, the user will only be prompted to change their password on or after the expiration date – but they will receive no advance warning.

What Else You Should Know

TopicImportant Details
Password complexityMicrosoft Entra ID enforces a minimum of 8 characters (Microsoft recommends 14), requiring three out of four character types (uppercase, lowercase, numbers, symbols). This cannot be changed.
Password historyUsers cannot reuse their previous password when changing passwords. This applies to all cloud-only accounts and cannot be modified.
Account lockoutAccounts are locked for 1 minute after 10 unsuccessful sign-in attempts. Lockout duration increases with repeated failed attempts.
Backend password agingEven when “never expire” is set, passwords have an effective maximum age of 730 days due to backend storage limitations. This is entirely transparent to the user, requires no administrative action, and rarely impacts day-to-day operations.
Synchronized users (hybrid)For users synchronized from on-premises Active Directory, the password expiration policy is controlled by your on-premises AD, not by the Microsoft 365 policy.
Outlook cache delayUsers who only use the Outlook desktop app may not be forced to reset their password until days after the actual expiration date due to cached authentication. There is no admin-level workaround for this.

Troubleshooting: Policy Not Applying?

SymptomMost Likely CauseWhat To Do
Users still see expiration warnings after setting “never expire”Propagation delay or user has individual overrideWait 1 hour. Check individual user settings via PowerShell (see Step 3).
Setting doesn’t save or reappears as “expire after 90 days”Your tenant may be older (pre-2021) with default 90-day expirationContact Microsoft Support to check tenant configuration flags.
“Password expiration policy” option is missingYour admin account lacks required permissionsVerify your account has User Administrator or Global Administrator role.
Hybrid users not following tenant policyOn-premises AD controls password policy for synced usersConfigure password expiration in your on-premises Active Directory, not Microsoft 365.

Wrap-Up

You can configure the password expiration policy for your Microsoft 365 tenant by accessing the Org settings module in the Microsoft 365 admin center and modifying the Security & privacy parameters. Ensure you hold User Administrator or Global Administrator rights before starting.

Use this configuration to either align with modern non-expiring recommendations or to enforce strict regulatory compliance, providing the essential lifecycle management required for your organizational identities.

Final Recommendation for Business Premium: Microsoft’s latest guidance strongly recommends setting passwords to never expire when combined with Multi-Factor Authentication (MFA). Business Premium includes MFA capabilities, making the “never expire” setting the most secure and user-friendly choice for your organization.

Crucial Compliance Warning: Remember that password expiration notifications are permanently retired. If you must enforce expiration for strict compliance reasons, ensure Self-Service Password Reset (SSPR) is fully enabled and tested for all users to prevent sudden, notification-less user lockouts and helpdesk overload.

Share this article:
Fast-Track Your Compliance

Need help with Aramco CCC Certification?

Get a Free Expert Consultation.

Aramco Kit

Ali Aljubaily

Cybersecurity Consultant

I am Ali Aljubaily, Founder of NHR Alemtithal and a certified engineer from Microsoft, holding the Microsoft Certified System Associate certification as well as the CompTIA Network+ certification.

Latest

Explore Our Blog Posts

Discover insightful articles on cybersecurity and more.

Microsoft 365 6 Views 6 min read

How to Enable Unlicensed Admin Access in Microsoft Intune

Control administrator access to endpoint management without assigning dedicated Intune licenses
Read more
Microsoft 365 8 Views 8 min read

How to Disable Security Defaults in Microsoft Entra

Control tenant-wide baseline security to pave the way for granular Conditional Access policies
Read more
Microsoft 365 10 Views 7 min read

How to Enable Guest Licensing in Microsoft Entra

Control billing and unlock premium security features for B2B collaboration users by linking an Azure subscription
Read more

Our Certified Expertise and Technology Partnerships

We are certified partners with the world's leading cybersecurity vendors to deliver best-in-class solutions.

Microsoft
Microsoft
Certified Partner
Bitdefender
Bitdefender
Gold Partner
Fortinet
Fortinet
Authorized Partner
Acronis
Acronis
Certified Partner

Ready to Secure Your Business?

Our cybersecurity experts are here to help you achieve compliance and protect your digital assets with our 100% remote implementation model. Achieving compliance requires zero on-site field visits or internal IT hours. Contact us for a free, no-obligation assessment of your cybersecurity needs. We are committed to a 2-hour response time for all inquiries during business hours.

2-hour response time
Free consultation
Certified experts