Mac 在 Windows 企业环境中运行良好,但很多公司要求您在一段时间后(例如 3 个月)更改密码。
如何在无需启动 PC 的情况下更改 Windows 域密码?
答案1
从终端:
$ smbpasswd -U username -r DOMAIN_CONTROLLER_IP
$ smbpasswd -h
When run by root:
smbpasswd [options] [username]
otherwise:
smbpasswd [options]
options:
-L local mode (must be first option)
-h print this usage message
-s use stdin for password prompt
-c smb.conf file Use the given path to the smb.conf file
-D LEVEL debug level
-r MACHINE remote machine
-U USER remote username
extra options when run by root or in local mode:
-a add user
-d disable user
-e enable user
-i interdomain trust account
-m machine trust account
-n set no password
-W use stdin ldap admin password
-w PASSWORD ldap admin password
-x delete user
-R ORDER name resolve order
答案2
另一个建议是登录到您公司的电子邮件 Web 门户。许多公司都在使用 MS Exchange,它支持通过 Web 电子邮件会话更改密码。我遇到过同样的问题,用户不是使用 Mac,但永远不会接触属于 Active Directory 的机器。Webmail/密码更改界面使这成为可能,并且它对数百名用户有效。我必须承认,失败消息非常隐晦且完全无用。如果由于新密码缺乏复杂性而导致密码更改失败,它很可能会无法告诉您这一点。所以请注意这一限制。
答案3
借鉴@Havey 的答案(需要非 Apple Samba、macports 等):
我从来不知道/记得域控制器的 IP 是什么,因此我创建了以下脚本来调出smbpasswd
旧/新密码提示。
#!/bin/bash
USER="joe.bob"
DOMAIN="acme.com"
smbpasswd -U $USER -r `nslookup _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $2;exit;}'`
答案4
smbpasswd
Lion 及以上版本不再存在
要绕过这个问题,您只需使用带有正确命令行的 docker 镜像(来自samba-common-bin
软件包)。这甚至适用于 Windows 或 Linux。请参阅相关问答:
在 MacOS High Sierra 上找不到 smbpasswd 命令
使用来自的 docker 镜像github.com/GabLeRoux/docker-debian-samba-common-bin:
docker run --rm -it gableroux/debian-samba-common-bin \
bash -c "smbpasswd -U my_activedirectory_username -r 10.x.y.z"
替代解决方案,使用kpasswd
:
kpasswd user@REALM