Можно ли изменить учетную запись пользователя AD с помощью Ruby LDAP? - PullRequest
2 голосов
/ 12 марта 2009

Используя Ruby LDAP, работающий в Linux, я могу без проблем создать новую учетную запись пользователя Active Directory. Теперь я хочу переименовать имя пользователя в учетной записи.

Когда я пытаюсь изменить sAMAccountName, это не работает. Можно ли изменить учетную запись пользователя AD с помощью Ruby LDAP? Если да, то как?

Ответы [ 3 ]

4 голосов
/ 12 марта 2009

Какая ошибка возвращается, когда вы говорите "не работает"? Вы должны быть вполне способны изменить значение sAMAccountName, используя любой клиент или библиотеку LDAP, при условии, что соединение было первоначально аутентифицировано как пользователь с правами администратора (то есть пользователь, у которого есть разрешение на изменение указанного атрибута entry и entry.)


UPDATE

Из сообщения об ошибке следует, что, хотя вы утверждаете, что пытались изменить только sAMAccountName, попытка изменения CN также была предпринята, или CN является особенным (это часть DN .)

Чтобы изменить CN, вам, вероятно, придется использовать modrdn, чтобы переименовать CN часть DN (стандартизированный эквивалент MoveHere):

conn.modrdn('CN=old-name,OU=orgunit,DC=domain', 'CN=new-name', true)
conn.modify('CN=new-name,OU=orgunit,DC=domain', 'sAMAccountName' => new-acct)
1 голос
/ 14 апреля 2010

Я вижу, что это год, но я все равно отвечу.

Я использую ActiveLdap в приложении Rails ...., которое использует гем Ruby / LDAP за ним. Я могу сделать следующее в моем коде.

aduser = User.find("matt")
puts aduser.cn
# prints 'matt'
puts aduser.distinguishedname
# prints 'cn=matt,ou=here,dc=my,dc=domain'

# THIS RENAMES THE ACCOUNT AND AUTOMATICALLY HANDLES ALL THE ATTRIBUTES
# THAT NEED TO CHANGE... e.g. name, cn, distinguishedname, dn
aduser.cn = "newmatt"
aduser.save

Вы должны быть в состоянии просмотреть код ActiveLdap и выяснить, как они делают это через Ruby / Ldap.

Что в настоящее время не работает в ActiveLdap, тем не менее это «newsuperior», поэтому в настоящее время нет способа переместить объект из одного контейнера в другой. Я все еще работаю над тем, как это сделать.

Мэтт

0 голосов
/ 12 марта 2009

Есть ли шанс, что вы можете опубликовать часть своего кода? Также вы можете попробовать использовать метод MoveHere , который действительно используется для перемещения учетных записей пользователей, но также может использоваться для переименования учетной записи.

...