設定個別使用者的密碼永不過期

本文說明如何將個別使用者的密碼設定為不會過期。 您必須使用 PowerShell 完成這些步驟。

在您開始之前

本文適用於為公司、學校或非營利組織設定密碼到期原則的人員。 若要完成這些步驟,您必須使用 Microsoft 365 系統管理員帳戶登入。 請參閱Microsoft 365 系統管理中心概觀

您必須是 全域管理員或密碼管理員 ,才能執行這些步驟。

Microsoft 雲端服務的全域管理員可以使用 Azure Active Directory PowerShell for Graph 來設定特定使用者的密碼不要過期。 您也可以使用 AzureAD Cmdlet 來移除永不過期的設定,或查看哪些使用者密碼設定為永不過期。

本指南適用于其他提供者,例如Intune和 Microsoft 365,它們也依賴 Azure AD 來取得身分識別和目錄服務。 密碼到期是原則中唯一可以變更的部分。

如何檢查密碼的到期原則

如需 AzureAD 模組中 Get-AzureADUser 命令的詳細資訊,請參閱參考文章 Get-AzureADUser

執行下列其中一個命令:

  • 若要查看單一使用者的密碼是否設定為永不過期,請使用 UPN (執行下列 Cmdlet,例如, user@contoso.onmicrosoft.com) 或您想要檢查之使用者的使用者識別碼:

    Get-AzureADUser -ObjectId <user id or UPN> | Select-Object UserprincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
    }
    

    範例:

    Get-AzureADUser -ObjectId userUPN@contoso.com | Select-Object UserprincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
    }
    
  • 若要查看所有使用者 的密碼永不過期 設定,請執行下列 Cmdlet:

    Get-AzureADUser -All $true | Select-Object UserprincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
     }
    
  • 若要取得目前使用者桌面上具有 PasswordNeverExpires 且名稱為 Html 之所有使用者的報告 ReportPasswordNeverExpires.html

    Get-AzureADUser -All $true | Select-Object UserprincipalName,@{
        N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}
    } | ConvertTo-Html | Out-File $env:userprofile\Desktop\ReportPasswordNeverExpires.html
    
  • 若要取得目前使用者桌面上具有 CSV 中 PasswordNeverExpires 之所有使用者的報告,其名稱 ReportPasswordNeverExpires.csv

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

將密碼設定為永不過期

執行下列其中一個命令:

  • 若要將某個使用者的密碼設定為永不過期,請使用 UPN 或使用者的使用者識別碼執行下列 Cmdlet:

    Set-AzureADUser -ObjectId <user ID> -PasswordPolicies DisablePasswordExpiration
    
  • 若要將組織中所有使用者的密碼設定為永不過期,請執行下列 Cmdlet:

    Get-AzureADUser -All $true | Set-AzureADUser -PasswordPolicies DisablePasswordExpiration
    

警告

使用 參數設定的 -PasswordPolicies DisablePasswordExpiration 使用者帳戶仍會根據 pwdLastSet 屬性存留期。 pwdLastSet根據 屬性,如果您將到期日變更為 -PasswordPolicies None ,所有 pwdLastSet 超過 90 天的密碼都需要使用者在下次登入時加以變更。 這項變更可能會影響大量使用者。

將密碼設定為到期

執行下列其中一個命令:

  • 若要設定一位使用者的密碼,讓密碼過期,請使用 UPN 或使用者的使用者識別碼執行下列 Cmdlet:

    Set-AzureADUser -ObjectId <user ID> -PasswordPolicies None
    
  • 若要設定組織中所有使用者的密碼使其過期,請使用下列 Cmdlet:

    Get-AzureADUser -All $true | Set-AzureADUser -PasswordPolicies None
    

讓使用者重設自己的密碼 (文章)
重設密碼 (文章)
設定貴組織的密碼到期 原則 (文章)