【问题标题】:How to retrieve Active Directory group policy maximum password age using LDAP如何使用 LDAP 检索 Active Directory 组策略最大密码使用期限
【发布时间】:2019-01-23 10:43:50
【问题描述】:

我想从公司 Active Directory 中检索有关密码的组策略,但我找不到任何信息,如何过滤我的搜索以查找属性。

一开始我喜欢获取密码的最长使用期限,应该是msDS-MaximumPasswordAge属性。

我一直在尝试的搜索词:

ldap_search($ldap, 'CN=Policies,CN=System,DC=company,DC=com', '(objectClass=*)', array('msDS-MaximumPasswordAge'));

这是我尝试过的最宽的过滤器,但它不会返回计数不为零的对象。当然,为了这个示例,我替换了 DC 名称。

我错过了什么吗?我应该在不同的容器下搜索吗?

非常感谢。

更新: 我发现,AD 确实将用户对象下的密码到期日期保留为 msDS-UserPasswordExpiryTimeComputed 属性,这很有帮助,但我仍然需要找到密码设置对象,以获取所有其他密码策略。

【问题讨论】:

    标签: php active-directory ldap


    【解决方案1】:

    您确定您已实施启用 msDS-PasswordSettings 的组策略吗?

    您应该使用类似 (&(objectClass=msDS-PasswordSettings)) 的过滤器

    并返回一个属性“msDS-MaximumPasswordAge”。

    一个 msDS-PasswordSettings 条目出现在 LDIF 中,例如:

    dn: CN=PS??,CN=Password Settings Container,CN=System,DC=dc1,DC=contoso,DC=com
    objectClass: msDS-PasswordSettings
    msDS-MaximumPasswordAge:-1728000000000
    msDS-MinimumPasswordAge:-864000000000
    msDS-MinimumPasswordLength:8
    msDS-PasswordHistoryLength:24
    msDS-PasswordComplexityEnabled:TRUE
    msDS-PasswordReversibleEncryptionEnabled:FALSE
    msDS-LockoutObservationWindow:-18000000000
    msDS-LockoutDuration:-18000000000
    msDS-LockoutThreshold:0
    msDS-PasswordSettingsPrecedence:20
    msDS-PSOAppliesTo:CN=user1,CN=Users,DC=dc1,DC=contoso,DC=com
    

    -吉姆

    【讨论】:

    • 我没有实施组策略,系统管理员做到了,但他们只能在组策略管理工具中告诉我它在哪里,而不是在 AD 结构中。关于您的回答,CN=Password Settings Container 中有一个 PSO,但它不是为所有用户设置的,它仅适用于给定的组成员。
    • 我问了你提出的问题,似乎密码策略设置为默认域策略,某种 pre-server2008 方式,但CN=Default Domain Policy,CN=System[...] 没有msDS-MaximumPasswordAge 属性,并且未设置maxPwdAge
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多