python错了怎么修改密码_使用Python更改Windows密码

我正在使用Python开发一个小的密码管理器工具.

它允许使用中央密码管理器和一次性密码,因此没有人会知道服务器的密码,并且当员工去另一位雇主时,我们不需要更改所有密码.

无论如何,该软件的设计都是为了将??其用于Phone-Home(从而消除了许多防火墙/覆盖问题)并作为服务运行.现在,我们可以同步系统的用户,验证我们输入的密码是否正确.但是,目前我们正在努力尝试在登录后重设密码.

Win32.net NetUserchangePassword似乎拥有我们想要的东西.正如(我认为)它称为“网络用户*”.

经过测试,我发现它确实称为msvc库的netUserchangePassword功能.问题是,当我输入旧密码为None时,它不起作用.

该过程以完全管理员身份运行.并且应该能够在不知道旧密码的情况下更改用户密码(免责声明:我来自UNIX背景,因此root(超级管理员)可以执行所有操作,如果我对Windows OS错误,请纠正我).

因此,作为超级管理员,如何在不使用Python脚本语言知道旧密码的情况下更改本地用户的密码?

谢谢!

更新:

def set_password(username, password):

from win32com import adsi

ads_obj = adsi.ADsGetObject("WinNT://localhost/%s,user" % username)

ads_obj.Getinfo()

ads_obj.Put('Password', password)

ads_obj.SetInfo()

def verify_success(username, password):

from win32security import LogonUser

from win32con import LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT

try:

LogonUser(username, None, password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT)

except:

return False

return True

u = "test_usr"

p = "TheNewStrongP@S$w0rd!"

set_password(u, p)

if verify_success(u, p):

print "W00t it workz"

else:

print "Continue Googling"

猜猜是什么,不起作用.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值