如何在不是域管理员的情况下更改当前用户的域密码?

如何在不是域管理员的情况下更改当前用户的域密码?

我已经看到很多关于如何通过运行重置用户密码的文档

net user <username> * /domain

或本地

net user <username> <new_password>

但我不是当前域的域管理员,因此我不允许通过net user <my_username> * /domain(拒绝访问)更改密码。

不过,要做的就是点击++CTRL并单击“更改密码”,然后我必须重新输入当前密码并提供一个新密码: ALTDEL在此处输入图片描述

问题:我该如何编写脚本?我想通过命令行更改密码。可以吗?

奖励信息:我在一台 Windows XP SP3 机器上。

笔记:公司政策是让用户每两周更改一次密码。而且您不能使用您最近的 24 个密码……由于我不想总是记住新密码,所以我只需手动遍历“密码 1”...“密码 24”,最后我就会回到我的旧密码。如果能用小批量而不是手动方式来做这件事就好了。

答案1

试试这个,我不知道这对你是否有用。这是 VB 脚本

Dim UserName
Dim UserDomain
UserDomain = InputBox("Enter the user's login domain name")
UserName = InputBox("Enter the user's login name")
Set User = GetObject("WinNT://"& UserDomain &"/"& UserName &"",user)


Dim NewPassword
NewPassword = InputBox("Enter new password")
Call User.SetPassword(NewPassword)

If err.number = 0 Then
        Wscript.Echo "The password change was successful."
Else
        Wscript.Echo "The password change failed!"
End if

检查一下http://technet.microsoft.com/en-us/library/cc780332%28WS.10%29.aspx域登录

答案2

检查一下https://technet.microsoft.com/en-us/library/ee617261.aspx.... 有 -Oldpassword 参数,它与 -Newpassword 参数一起可以实现这一点。请记住,如果您不是域管理员,那么您需要知道旧密码才能执行此操作。另外,当您使用 -Oldpassword 参数时,不要使用 -reset 参数。

答案3

不幸的是,我不再处于相同的系统环境中,但需要注意的是,Sysinternals 更新了他们的工具密码保护工具

您可以使用 PsPasswd 更改本地或远程计算机上的本地或域帐户的密码。

也许这是解决方案 - 我仍然不知道是否可以使用该工具更改密码。我可以通过 CTRL+ALT+DELETE 更改密码。

答案4

@MealstroM 的回答要求管理员,否则您将被拒绝访问。而不是SetPassword必须调用ChangePassword(old,new)

Dim wsn
Set wsn = CreateObject("WScript.Network")

Dim UserName
UserName = wsn.UserName

Dim UserDomain
UserDomain = wsn.UserDomain

UserDomain = InputBox("Enter the user's login domain name (or local computer name or dot)",,UserDomain)
UserName = InputBox("Enter the user's login name",,UserName)
Set User = GetObject("WinNT://"& UserDomain &"/"& UserName &"",user)


Dim OldPassword
OldPassword = InputBox("Enter old password")

Dim NewPassword
NewPassword = InputBox("Enter new password")
Call User.ChangePassword(OldPassword, NewPassword)

If err.number = 0 Then
        Wscript.Echo "The password change was successful."
Else
        Wscript.Echo "The password change failed!"
End if

相关内容