【问题标题】:Is it possible to query LDAP for extended Active Directory properties?是否可以查询 LDAP 以获取扩展的 Active Directory 属性?
【发布时间】:2013-04-11 16:42:20
【问题描述】:

我正在尝试构建一个列出当前锁定在 Active Directory 中的所有帐户的应用程序。据我了解,Active Directory在帐户被锁定时将对象的LockedOut属性更改为true,并且依赖其他方法不太可靠,例如查看lockoutTime>1

如果您运行get-aduser johndoe -properties *,我知道您可以看到此属性以及更多信息,但我无法通过 LDAP 查询获取所有属性。

换句话说,是否可以通过 LDAP 查询提取扩展 AD 属性,例如 lockedOut

【问题讨论】:

    标签: active-directory


    【解决方案1】:

    对不起,我之前的回答确实是错误的。然而,经过一番研究,似乎:

    1. lockoutTime 属性未设置或 0 可靠地表明帐户锁定。 (见this article的备注部分)。

    2. msDS-User-Account-Control-Computed 位字段属性可靠地指示帐户是否被锁定(如果设置了0x10 位),但它是一个计算值,不能包含在搜索过滤器中。

    因此,最好的解决方案可能是查询所有可能使用(&(objectClass=user)(lockoutTime>=1)) 之类的过滤器锁定的帐户,然后通过检查@ 的0x10 位以编程方式进一步过滤结果987654328@属性,让你得到准确的结果。

    this article 末尾概述了相同的解决方案。

    【讨论】:

    • 顺便说一句,您需要使用 SearchResult.GetDirectoryEntry() 来获取 DirectoryEntry 对象。然后使用 $directoryEntry.Properties["msDS-User-Account-Control-Computed"] 获取值。
    猜你喜欢
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多