Windows AD:按密码长度查找用户帐户

我准备改变密码要求政策,我想find所有这些将会影响的用户。 有没有一种方法来枚举所有的AD帐户密码与x个字符? 同样的道理,在政策改变之后,这些账户将如何运作? 他们是否会被提示更改密码以符合合规要求?

我可以回答第二部分:当您更改密码策略时,它不会使现有密码无效。 密码只有在下次创build,重置或更改时才符合新策略。

你可能要做的一件事就是查看下一次用户的密码是否过期,以确定当同一周所有人的密码到期时你是否会被通话,或者密码更改是否会被分散开来,时间。

如果您还没有这样做,那么我们会帮助我们发送一封电子邮件(或其他)给所有员工,尽可能简单地解释所有内容,并提供挑选符合新要求的密码的build议。 作为一个稍微相关的方面说明,AD支持空格,这意味着即使您configuration复杂性和一个大的最小长度,有效的密码可以是一个简单的句子,如下所示:

这是Windows Active Directory中有效的复杂密码。

也看到这个 。

我可以回答第一部分。

Active Directory中的密码默认为散列 。 无论input长度如何,哈希algorithm都会创build长度相同的结果(本例中为128位/ 16字节)。 这意味着不可能知道哪些密码太短* ,因为存储在Active Directory中的密码数据长度都是相同的,不可逆的。 唯一可以知道的是,他们遇到了上次更改时存在的任何密码策略。

从某种意义上说,这也是第二部分的答案。 即使Active Directory也无法知道存储的密码是否符合新策略,因此无法自动使无效密码过期。


*从技术上来说,可以挂钩Active Directory密码更改过程。 例如,如果您将Google Apps用于我的域,则Google提供了一个可选的密码同步工具,它将在Active Directory哈希值之前拦截密码,并将相应的Google帐户设置为使用相同的密码。 IIRC,CloudPath XPressConnect也挂钩到这个function。 因此,如果你真的想要的话,你可以build立自己的插件,每次更改密码时只logging有关密码的相关复杂信息。 但是,Active Directory默认情况下不会logging此信息,因此可能会延迟现有计划的策略更改。