【问题标题】:How to find windows disabled and locked accounts in active directory in C++如何在 C++ 的活动目录中找到 Windows 禁用和锁定的帐户
【发布时间】:2020-10-31 02:05:54
【问题描述】:

我正在处理一个 C++ 项目,并希望找到一种方法来在 Active Directory 中找到禁用/锁定的帐户。我在 C++ 下面找到了 API,但不确定它们是否能解决我的目的或者是他们的其他一些 API--

https://docs.microsoft.com/en-us/windows/win32/api/lmaccess/nf-lmaccess-netuserenum

https://docs.microsoft.com/en-us/windows/win32/api/lmaccess/nf-lmaccess-netusergetinfo

另外,由于我无法控制的原因,我必须只使用 C++ 而不是其他东西,如 powershell 脚本等

【问题讨论】:

标签: c++ windows winapi visual-c++ active-directory


【解决方案1】:

这里有如何做到这一点的 C++ 示例:Searching with the IDirectorySearch Interface

当您到达调用ExecuteSearch 的步骤时,您要使用的 LDAP 查询将是:

(&(objectCategory=person)(objectClass=user)(|(userAccountControl:1.2.840.113556.1.4.803:=2)(lockoutTime>=1)))

该查询仅查找以下用户帐户:

  • userAccountControl 属性的第二位已设置,意味着它已被禁用(那个奇怪的数字是LDAP_MATCHING_RULE_BIT_AND 运算符,如here 所述,它只是按位与),或者
  • lockoutTime 属性为 1 或更多,表示已锁定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2020-07-30
    • 2017-02-15
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多