你好,
在 Active Directory 中,精細密碼原則 (Fine-Grained Password Policies, FGPP) 的優先順序是由 msDS-PasswordSettingsPrecedence 屬性決定的。數值越小,優先權越高。當使用者同時屬於多個安全性群組,而這些群組各自套用了不同的 FGPP,系統會挑選 precedence 最低的那一個作為生效原則。如果你發現某個 precedence 值較大的原則卻意外生效,通常是因為群組或使用者直接套用的 Password Settings Object (PSO) 有衝突,或者 precedence 設定不一致。
檢查方式:
打開 Active Directory Administrative Center (ADAC) 或使用 ADSI Edit,瀏覽到 CN=Password Settings Container,CN=System,DC=<domain>。在每個 PSO 物件中檢查 msDS-PasswordSettingsPrecedence 屬性,確認數值是否正確。建議使用 PowerShell 指令來快速比對,例如:
Get-ADFineGrainedPasswordPolicy -Filter * | Select Name, Precedence, AppliesTo
這樣可以清楚看到每個 PSO 的 precedence 值以及套用對象。若要修正,請調整衝突的 PSO 的 precedence 值,確保你希望優先套用的原則擁有最小的數字。修改方式可用:
Set-ADFineGrainedPasswordPolicy -Identity "<PSO Name>" -Precedence <NewValue>
另外要注意,若使用者同時被多個群組套用,系統會依照 precedence 選擇一個 PSO,而不會合併設定。因此必須明確規劃群組與 precedence,避免重疊。最佳做法是確保每個群組的 PSO precedence 值設計合理,並避免讓使用者同時落入多個互斥的群組。
我建議你先用 PowerShell 列出所有 PSO,確認 precedence 排序,再依照需求調整。這樣可以解決使用者密碼到期時間範圍不正確的問題。希望這裡的內容對您有幫助。如果它能幫助您更深入地了解問題,請採納此答案。如果您還有其他問題,歡迎留言。祝您愉快!
HP.