2

Linux上で実行されているRubyLDAPを使用すると、問題なく新しいActiveDirectoryユーザーアカウントを作成できます。ここで、ユーザーアカウントのユーザー名の名前を変更したいと思います。

を変更しようとするとsAMAccountName、機能しません。Ruby LDAPを使用してADユーザーアカウントを変更することはできますか?もしそうなら、どのように?

4

3 に答える 3

4

「動作しません」と言ったときに返されるエラーは何ですか? sAMAccountName接続が最初に管理ユーザー (つまり、前述のエントリおよびエントリ属性を変更する権限を持つユーザー) として認証されていれば、LDAP クライアントまたはライブラリを使用する値を完全に変更できるはずです。


アップデート

エラー メッセージから、 の変更のみを試みると主張しているにもかかわらずsAMAccountName、 の変更CNも試みられたか、CN特殊な ( の一部であるDN) ことがわかります。

を変更するには、CNおそらく を使用して の一部のmodrdn名前を変更する必要があります(標準化された に相当するもの):CNDNMoveHere

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)
于 2009-03-12T19:35:00.910 に答える
1

これは1歳だと思いますが、とにかく答えます。

RailsアプリでActiveLdapを使用しています...その背後にある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」であるため、現在、あるコンテナから別のコンテナにオブジェクトを移動する方法はありません。私はまだそれを実現する方法を考えています。

マット

于 2010-04-14T15:51:31.493 に答える
0

コードの一部を投稿できる可能性はありますか? また、ユーザー アカウントの移動に実際に使用しているMoveHereメソッドを使用してみることもできますが、アカウントの名前変更にも使用できます。

于 2009-03-12T20:00:16.607 に答える