我有一个 Windows 域,我需要在其中找到启用了永不过期密码选项的用户 - 作为审计的一部分并用于联系他们。我没有权限在服务器上安装任何花哨的 Powershell 部件或其他任何东西。我怀疑通过 Powershell 的 adsisearcher 可能可以解决问题。我还需要联系信息,例如电子邮件地址(许多用户有多个地址,不确定这是否会改变任何事情)。此外,还有许多非真实用户帐户,这可能会不必要地增加我要联系的用户列表。
答案1
这userAccountControl
用于控制“密码永不过期”的位为0x10000
(十进制为 65536)。
以下 LDAP 过滤器将返回所有设置了该选项的用户:
(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536))
adsisearcher
将会变成类似这样的:
$Searcher = [adsisearcher]'(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536))'
$PwdNeverExpireUsers = $Searcher.FindAll()