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


26

Mac在Windows企业环境中运行良好,但许多公司要求您在一段时间后(例如3个月)更改密码。

如何更改Windows域密码而无需启动PC?

Answers:


22

从终端:

$ 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

9
不幸 smbpasswd 在Lion的干净安装中不再存在。
Nate

3
如果您正在运行Homebrew,您可能想尝试运行 brew install https://raw.github.com/vertis/homebrew/master/Library/Formula/samba.rb
Pål Brattberg

5
samba package现在是“默认”Homebrew的一部分,所以你可以输入 brew install samba 而不是使用该URL。
bdesham

2
smbpasswd 不适用于macOS 10.12.5,和 brew install samba 说“没有可用的配方”。还有其他选择(不是门户网站)吗?
Paaske

1
如果您使用的是macOS High Sierra(10.13.4)或Sierra,则可以使用macport安装samba macports.org/install.php ,然后你可以使用port命令:port install samba3,之后你可以按照上面的描述,smbpasswd应该可用。
neosergio

9

另一个建议是登录您公司的电子邮件门户网站。许多公司正在使用MS Exchange,它支持通过Web电子邮件会话更改密码。对于不在Mac上的用户,我确实遇到了这个问题,但是却永远不会触及属于Active Directory的计算机。网络邮件/密码更改界面使这成为可能,它适用于数百个用户。我必须承认,失败的信息非常神秘,毫无用处。如果密码更改因新密码缺乏复杂性而失败,则可能无法告诉您。所以请注意一个限制。


啊,我应该提到如果它在我的公司工作,我会这样做的。它总是说它有效并且什么都不做。好建议。
Harvey

隐秘的消息肯定不能准确描述密码更改是否成功。我看到的最大问题是密码不符合长度,大写/小写,密码本身的数字和符号。您必须选择一个非常复杂的密码才能正常工作。
Axxmasterr

我应该补充一点,如果您的密码更改因规则而失败,那么命令行方法会给您一些失败的指示,而(根据我的经验)Web方法只是默默地失败。但是,如果可用,请始终首先尝试Web门户网站方法。
Harvey

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;}'`


0

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 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.