Как изменить пароль домена Windows из Mac OS X?

26

Mac хорошо работают в корпоративных средах Windows, но многие компании требуют, чтобы вы изменили свой пароль через некоторое время (например, 3 месяца).

Как изменить пароль домена Windows без необходимости загрузки ПК?

Харви
источник

Ответы:

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Пакет является частью « по умолчанию» Homebrew сейчас, так что вы можете просто ввести brew install sambaвместо того , чтобы использовать этот адрес.
Bdesham
3
smbpasswdне работает в macOS 10.12.5 и brew install sambaговорит: «Нет доступных формул». Есть ли другие варианты (кроме веб-портала)?
Пааске
1
Если вы используете macOS High Sierra (10.13.4) или Sierra, вы можете установить samba с помощью macports macports.org/install.php , тогда вы можете использовать команду port: port install samba3, и после этого вы можете следовать инструкциям, описанным выше, smbpasswd должен быть доступным.
neosergio
9

Еще одно предложение - войти на веб-портал электронной почты вашей компании. Многие компании используют MS Exchange, который поддерживает изменение вашего пароля через сеанс электронной почты. У меня была именно эта проблема с пользователями, которые не были на Mac, но вместо этого никогда не касались машины, которая была частью Active Directory. Интерфейс смены веб-почты / пароля сделал это возможным, и он работал для нескольких сотен пользователей. Я должен признать, что сообщения об ошибках были довольно загадочными и совершенно бесполезными. Если смена пароля не удалась из-за того, что вашему новому паролю не хватает сложности, он, скорее всего, не скажет вам этого. Так что просто знайте об этом одном ограничении.

Axxmasterr
источник
Ах, я должен был упомянуть, что сделал бы это, если бы это работало в моей компании. Он всегда говорит, что работает и ничего не делает. Хорошее предложение.
Харви
Загадочные сообщения определенно не точно описывают, была ли смена пароля успешной. Самые большие проблемы, которые я видел, были связаны с паролями, которые не соответствовали длине, прописным / строчным буквам, цифрам и символам внутри самого пароля. Вы должны выбрать очень сложный пароль для правильной работы.
Axxmasterr
Я должен был добавить, что если смена пароля не удалась из-за правил, подход командной строки даст вам некоторое указание на сбой, в то время как (по моему опыту) веб-метод просто молча завершится неудачей. Тем не менее, всегда сначала используйте метод веб-портала, если он доступен.
Харви
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 больше не присутствует во льве или выше

Чтобы обойти это, вы можете просто использовать образ докера с правильными командными строками (из samba-common-binпакета). Это будет работать даже для Windows или Linux. См. Связанную команду Q / A: команда smbpasswd не найдена в MacOS High Sierra

Использование образа докера с 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 
GabLeRoux
источник