设置单个用户的密码永不过期

查看有关小型企业 帮助 & 学习的所有小型企业内容。

本文介绍如何将密码设置为单个用户不会过期。 必须使用 PowerShell 完成这些步骤。

准备工作

本文面向的是为企业、学校或非营利组织设置密码过期策略的人员。 你必须是 全局管理员或密码管理员 才能执行这些步骤。

可以使用 Microsoft 云服务 Microsoft Graph Powershell 为特定用户设置密码不过期、删除永不过期配置或查看将哪些用户的密码设置为永不过期。

本指南适用于其他提供程序,例如 Intune 和 Microsoft 365,它们也依赖于标识和目录服务的Microsoft Entra ID。 密码过期是策略中唯一可以更改的部分。

如何检查密码的过期策略

Connect-MgGraph使用 命令使用所需的范围登录。 你需要使用管理员帐户登录才能同意所需的范围。

Connect-MgGraph -Scopes "User.ReadWrite.All","Group.ReadWrite.All"

命令会提示你转到网页以使用设备代码登录。 完成此操作后,命令指示成功并显示一 Welcome To Microsoft Graph! 条消息。 每个会话只需登录一次。

运行下列命令之一:

  • 若要查看单个用户的密码是否设置为永不过期,请使用 UPN (运行以下 cmdlet,例如, user@contoso.onmicrosoft.com) 或要检查的用户 ID:

    Get-MGuser -UserId <user id or UPN> -Property UserPrincipalName, PasswordPolicies | Select-Object UserPrincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
    }
    

    示例:

    Get-MGuser -UserId userUPN@contoso.com -Property UserPrincipalName, PasswordPolicies | Select-Object UserprincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
    }
    
  • 若要查看所有用户 的密码永不过期 设置,请运行以下 cmdlet:

    Get-MGuser -All -Property UserPrincipalName, PasswordPolicies | Select-Object UserprincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
     }
    
  • 若要在当前用户的桌面上获取所有在 Html 中具有 PasswordNeverExpires 的用户的报告,其名称 ReportPasswordNeverExpires.html

    Get-MGuser -All -Property UserPrincipalName, PasswordPolicies | Select-Object UserprincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
    } | ConvertTo-Html | Out-File $env:userprofile\Desktop\ReportPasswordNeverExpires.html
    
  • 在当前用户的桌面上获取所有具有 PasswordNeverExpires 的用户的报告,其名称 ReportPasswordNeverExpires.csv

    Get-MGuser -All -Property UserPrincipalName, PasswordPolicies | Select-Object UserprincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
    } | ConvertTo-Csv -NoTypeInformation | Out-File $env:userprofile\Desktop\ReportPasswordNeverExpires.csv
    
    

将密码设置为永不过期

运行下列命令之一:

  • 若要将一个用户的密码设置为永不过期,请使用 UPN 或该用户的用户 ID 运行以下 cmdlet:

    Update-MgUser -UserId <user ID> -PasswordPolicies DisablePasswordExpiration
    
  • 若要将组织中所有用户的密码设置为永不过期,请运行以下 cmdlet:

    Get-MGuser -All | Update-MgUser -PasswordPolicies DisablePasswordExpiration
    

警告

使用 -PasswordPolicies DisablePasswordExpiration 参数配置的用户帐户仍然根据 pwdLastSet 属性过期。 根据 pwdLastSet 属性,如果将过期时间更改为 -PasswordPolicies None,则 pwdLastSet 早于 90 天的所有密码都要求用户在下次登录时更改密码。 此更改可能会影响大量用户。

将密码设置为过期

运行下列命令之一:

  • 若要设置一个用户的密码以便密码过期,请使用 UPN 或用户的用户 ID 运行以下 cmdlet:

    Update-MgUser -UserId <user ID> -PasswordPolicies None
    
  • 若要设置组织中所有用户的密码,使其过期,请使用以下 cmdlet:

    Get-MGuser -All | Update-MgUser -PasswordPolicies None
    

允许用户重置自己的密码(文章)
重置密码(文章)
为组织设置密码过期策略 (文章)