我想使用域帐户上的 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' 计算机系统获取域
如果密码更改成功,应该返回远程机器的域。