簡體   English   中英

從 Active Directory 檢索密碼到期警告

[英]Retrieving password expiry warning from Active Directory

我有一個使用 Active Directory 對用戶進行身份驗證的系統。 現在我必須使用 AD 的安全設置來警告用戶他的密碼將在幾天后過期。 向用戶顯示通知時密碼到期之前的時間段定義為本文所述 我想使用 javax.naming.directory.InitialDirContext 從 AD 讀取“交互式登錄:提示用戶在到期前更改密碼”中設置的值。 我希望這個值在 AD 中被記住,但我不知道如何找到它。 我正在查看一組 AD 屬性,但似乎沒有人匹配此信息。 是否可以從 AD 中檢索此值?

這更復雜,因為此設置不直接保存在 Active Directory 中。 這是組策略的一部分(考慮到它是在策略中而不是在本地計算機上配置的),它保存在網絡共享中並在 Active Directory 中鏈接。

舉個簡單的例子,你可以這樣進入:

  1. 閱讀您想要的 OU 並檢查gPLink屬性。 該值類似於按優先級降序鏈接到所選 OU 的組策略對象列表。 每個值類似於: [LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=internal,DC=local;0] 第一部分是 GP 位置,最后一部分似乎是一個標志(2 表示強制執行策略)。
  2. 讀取策略對象並檢查gPCFileSysPath屬性。 這是存儲策略設置的位置。 它類似於\\\\internal.local\\sysvol\\internal.local\\Policies\\{31B2F340-016D-11D2-945F-00C04FB984F9}
  3. 從第 2 點檢查文件存儲並查找MACHINE\\Microsoft\\Windows NT\\SecEdit\\GptTmpl.inf文件。 這是一個常規的 inf/ini 文件,調查[Registry Values]部分以找到一行內容: MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\PasswordExpiryWarning=4,14 14是一個策略設置(在到期前 14 天提示更改密碼)。

現在,獲得實際結果的策略集變得復雜了。 策略是從父級繼承而來的,這意味着在第 1 點中,您應該檢查預期的 OU 及其所有父級 OU 以及域節點本身,以適當的順序評估所有gPLink ,可能還要考慮它們的 WMI 過濾器,是否它們確實適用與否,以便找出有效的值。

如果您的應用程序碰巧在可以置於同一組策略下的 Windows 上運行,那么從注冊表中讀取信息可能會更容易,因為系統已經應用了這些信息。

無論如何,考慮到從 AD 獲取值的復雜性,我會考慮只使用一些默認的到期警告期(前提是它完全是在組策略中定義的,而不僅僅是本地計算機上的默認值)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM