在其他域命令行上更改用户密码

在其他域命令行上更改用户密码

我想使用域帐户上的 cmd.exe 更改用户密码。

我试过

net user user_name * /domain

但它不起作用,因为我的用户在另一个域中。我如何指定用户属于哪个域?

答案1

您可以使用以下命令重置用户密码。

dsquery user -samid username | dsmod user -pwd new_password

如果您以域控制器身份登录,则可以执行以下命令

net user username new_password

您还可以从工作站使用以下 net user 命令

net user username new_password /domain

答案2

您可以在 Linux 机器上轻松使用 smbpasswd 完成此操作。在 Windows 上,您必须安装 Linux 子系统并运行:

smbpasswd -U <user> -r <IP address of DC>

/etc/samba/smb.conf如果遇到网络错误,请通过如下方式更改网络行来  修复 samba conf 文件( ):

interfaces = 127.0.0.0/8 lo eth0

答案3

只需让 WMIC 参与到游戏中...

但是,有一些先决条件 - 应该启用 WinRM 并允许其通过远程计算机上的防火墙,并且最好可以使用与 DC 相同的子网(我相信您可以访问)。

首先,您必须针对其他域进行身份验证,然后在其上运行所需的命令:

注意单引号,因为“-”符号在 WMI 中是一个特殊字符!

wmic /node:'目标域中任何机器的IP地址' /user:'其他域\任何域管理员帐户' 进程调用创建 "cmd /c "net user username new_password /domain""

它会要求您输入其他域上的域帐户的密码,但我确信您无法使用星号输入用户的新密码,因此我建议直接在命令行中输入。

不幸的是,您不会收到任何有关密码更改成功的输出,因此强烈建议您只收到 WMI 查询的输出,无论是成功还是失败,并且您需要检查是否设置了新凭据。我知道以纯文本形式输入密码有点不好,但这是我目前知道的唯一方法。有一种解决方法是使用批处理文件从文本文件中读取密码,然后将其输入到查询中,但对我来说这真的毫无意义。

下面这行:

wmic /node:'IP_address_of_a_machine_in_target_domain_the_user_has_access_to' /user:'the_other_domain\the_machine_the_user_has_access_to' 计算机系统获取域

如果密码更改成功,应该返回远程机器的域。

相关内容