gpt4 book ai didi

java - 从 Active Directory 检索密码过期警告

转载 作者:行者123 更新时间:2023-12-01 18:48:59 25 4
gpt4 key购买 nike

我有一个使用 Active Directory 来验证用户身份的系统。现在我必须使用 AD 的安全设置来警告用户他的密码将在几天后过期。向用户显示通知时密码过期之前的时间段定义如 this article 中所述。 。我想读取“交互式登录:提示用户在过期前更改密码”中设置的值使用 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 获取值的复杂性(假设它是在组策略中定义的,而不仅仅是本地计算机上的默认值),我会考虑仅使用一些默认的到期警告期。

关于java - 从 Active Directory 检索密码过期警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59768588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com