我正在使用Python开发一个小的密码管理器工具.它允许使用中央密码管理器和一次性密码,因此没有人会知道服务器的密码,并且当员工去另一位雇主时,我们不需要更改所有密码.无论如何,该软件的设计都是为了将??其用于Pho...

我正在使用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"
猜猜是什么,不起作用.
解决方法:
那会很好的工作
import subprocess
subprocess.call("net users "+username+" "+password, shell = True)
本文标题为:使用Python更改Windows密码


基础教程推荐
- Python 使用openpyxl处理Excel文件详情 2022-09-02
- Python munch包 /Munch() 的用法详解 2022-10-20
- 【python测试开发栈】python内存管理机制(一)—引用计数 2023-11-12
- 云服务器Ubuntu更改默认python版本 2023-09-03
- Python中Linux开发的技巧 2023-11-13
- Python瓶进程到达超时连接 2023-11-14
- 自然语言处理错字识别(基于Python)kenlm、pycorrector IT届的小学生 2023-09-04
- 如何利用Python实现自动打卡签到的实践 2023-08-11
- 在CentOS 5上编译Python 2.4.3时,如何显式禁用_tkinter.c的编译? 2023-11-13
- Centos7运行python脚本报错 /usr/bin/python3^M: bad interpreter: No such file or directory解决方法 2023-09-04