Windows 是否提供了命令行实用程序,让我可以检查域用户的密码?如果我提供了匹配的域用户名和密码,该实用程序返回成功(0)就足够了。或者,是否有一个简单的 VB/JS 脚本可以做到这一点?
我是公司的内联网管理员,为公司员工设置了默认密码,因此我想快速扫描哪些用户没有更改默认密码。
更好的是,是否有任何书籍或网站涵盖此类主题,以便我可以获得更多信息?
答案1
从问题评论中可以看出,您可以访问 Active Directory。转到 Active Directory 管理控制台并右键单击 -> 查找。执行“客户搜索”并输入“高级选项卡”
(&(objectClass=person)(objectClass=User)(pwdLastSet<=0))
这将为您提供整个目录中所有从未更改其初始设置密码的帐户。
答案2
受益于这里的提示https://stackoverflow.com/a/4601056,我设法使用 Python 来做到这一点。
import win32security
lg = win32security.LogonUser('username', 'domainname', 'password', win32security.LOGON32_LOGON_NETWORK,win32security.LOGON32_PROVIDER_DEFAULT)
如果 win32security.LogonUser() 没有发生异常,则密码正确。
要求:
- Python 2.7。
- pywin32 包
- 客户端计算机(运行 Python 程序的计算机)已加入域。
- [验证]客户端计算机上的组策略允许任意域用户本地登录。