Ruby スクリプトで作成された Active Directory アカウントにパスワードを追加しようとすると、少し問題が発生します。SSL 接続は、次のもので確立されます。
ldap = LDAP::SSLConn.new(LDAP_HOST, SSL_PORT)
プレーン テキストのパスワードは、base 64 UTF-16LE 文字列を返す関数を介して実行されます。
def convert_to_unicode pwd
unicode_pwd = pwd.encode("UTF-16LE")
return Base64.encode64(unicode_pwd)
end
AD へのエントリの追加は問題ではありませんが、パスワードが入力されるとすぐにエラー 53: unwilling to perform が返されます。渡されるパスワードは AD の要件を満たしており、bash スクリプトを使用しても問題はありません。たとえば、convert_to_unicode を介して以下を実行すると、AD が設定する引用符付きの new_Password1 が返されます。
'"new_Password1"'
誰かが私が行方不明になっている可能性があることを指摘できる有用なものを持っているかどうか疑問に思っています.