【发布时间】:2013-01-08 13:06:03
【问题描述】:
我正在编写一个 C++ 程序来管理 Windows 7 上的用户帐户。
我想为现有用户帐户设置密码。
我无法使用 NetUserChangePassword (Netapi32.dll),因为我没有记录我在创建用户时设置的先前密码。
所以,程序必须能够设置一个新密码(不知道旧密码)。
有没有办法在 c++ 中以编程方式做到这一点?
感谢您的帮助。
【问题讨论】:
-
是的,这个安全漏洞是专门插入到 Windows 中的,以允许这种用例。
-
好吧,尽管我喜欢讽刺,但在 Linux 上,root 用户可以在不知道旧密码的情况下更改任何密码;)。也许在 Windows 中也有类似的东西。
-
任何管理员帐户也可以在 Windows 上执行此操作...我认为要求编程方式并非不合理。
-
@mfontanini win7 管理员可以更改其他用户的密码,但如果不使用原始密码进行更改可能会对帐户造成严重破坏(以前 EFS 加密文件不再可供用户访问,个人证书被丢弃,并且存储的密码被删除)。