Skip to main content
Five Steps for Cloud Compliance Readiness·A practical playbook for security teamsDownload
CIS Microsoft 365 Foundations v7.0.0 · 1.3.1

Microsoft 365 passwords should be set to never expire

  • E3 Level 1
  • Microsoft 365 admin center
  • Automated check

This check looks at the password expiration policy of your Microsoft 365 domains. The safe setting is that passwords do not expire on a schedule, and are changed when there is a reason to, with MFA protecting sign-in.

Why it matters

Forced periodic changes tend to push people toward small, predictable variations of the old password, which does not make accounts safer. Microsoft's own guidance recommends not expiring passwords on a schedule when MFA is in place and weak or leaked passwords are detected: password policy recommendations.

The reasoning is about behaviour rather than cryptography. A password that must change every few months is more likely to be written down or incremented by one digit, while a long unique password that stays put is easier for people to remember and does not give attackers a predictable pattern to guess.

How to check it yourself

In the Microsoft 365 admin center go to Settings, Org settings, Security & privacy, Password expiration policy. The box Set passwords to never expire should be ticked. Read-only with Microsoft Graph PowerShell:

Connect-MgGraph -Scopes "Domain.Read.All"
Get-MgDomain | Select-Object Id, PasswordValidityPeriodInDays

A value of 2147483647 means passwords never expire.

How to fix it

In the admin center tick Set passwords to never expire and save. Or with PowerShell, for each domain:

Connect-MgGraph -Scopes "Domain.ReadWrite.All"
Update-MgDomain -DomainId <your-domain> -PasswordValidityPeriodInDays 2147483647

Before you do, confirm that MFA is required for all users. ConfigCobra only reads your environment and never changes it; the steps below are for you or your administrator to run.

What changes when you fix it

Users stop receiving expiry prompts and no longer get locked out of services that cached an old password after a forced change. Help desk volume for expired passwords usually drops. Accounts synchronised from on-premises Active Directory still follow the on-premises policy, so that policy needs the same review. Make sure leaked-password detection and MFA are in place, since expiry no longer limits how long a stolen password works.

Communicate the change to your help desk and to users, since people may expect the old rotation reminders. Pair it with conditions that make a stolen password less useful: MFA for everyone, a banned password list, and a process to force a reset when an account is suspected to be compromised. The remediation impact view in ConfigCobra lists the affected users and policies before you apply a fix.

Included in

BenchmarkCIS IDProfile
CIS Microsoft 365 Foundations v7.0.01.3.1E3 Level 1

Check this on your Microsoft 365

ConfigCobra runs this check with every other control of the CIS Microsoft 365 Foundations Benchmark, read-only.

Get in touch

Let's talk.

Whether you're evaluating ConfigCobra, running an audit, or managing a client fleet — we respond within one business day.

Free trial