如何从 Mac OS X 更改我的 Windows 域密码?

如何从 Mac OS X 更改我的 Windows 域密码?

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

smbpasswdLion 及以上版本不再存在

要绕过这个问题,您只需使用带有正确命令行的 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 

相关内容